分布式、集群的概念和工作原理

分布式:
1.将不同功能数据放到不能的机器上。
2.将同一数据放到不同的服务器上(数据副本),服务器之间通过网络互通。(涉及到数据的一致局性问题)。


分布式系统的CAP理论:
● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是同样的值。(等同于所有节点访问同一份最新的数据副本)
● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。
    1.对数据更新具备高可用性(一个坏了由另一个自动成为主节点进行处理。
    2.不要因为一个节点通信不上(通过网络连接有时连接不上正常),就出现用户请求出错,
      在强一致性要求下特别不可用(因为要求每个节点的数据都是最新的才返回成功,有
      一个失败都返回失败)。
● 分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
    1.就是是否能接受分区(分区就是意味着节点之间可能会通信不上,可能会长时间连接不上。
    2.因为是分布式所以是肯定选择了分区的,所以你只能在C和A中权衡进行选择了:
      1)、选择C,可能会因为有节点通信不上,所以用户请示可能长时间得不到正确的回应,影响A。
      2)、先择了A,就意味你要牺牲C,道理同选择C是类似的。



集群:
就是用多个服务器来处理同一个功能或存储数据(这个有点像分布式(数据备份)),来提高对多用户请求的处理,防止一个服务器处理不过来。一般会通过反向代理(分发请求)来实现集群的功能(nginx:一个反向代理的软件)。


nginx:反向代理软件
1.用户的请求都先到达nginx,nginx再跟据配置计算出把这个请求发到集群里的那个服务器进行处理,nginx再接收它处理完的结果,再把结果返回给用户。




猜你喜欢

转载自huangyongxing310.iteye.com/blog/2317865