云可以把多个服务器管理起来,作为一个统一的资源提供服务
服务器如何组织,就是分布式体系结构的范畴
1 集中式结构
概念:
由一台或多台服务器组成中央服务器,系统内的所有数据都存储在中央服务器中,系统内所有的业务也均先由中央服务器处理;
多个节点服务器与中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度:
中央服务器根据这些信息,将任务下达给节点服务器;节点服务器执行任务,并将结果反馈给中央服务器。
场景:Google Borg、K8S、Mesos
Master可以让Slave向Master发送心跳包来监听slave的存活状态;也可以参考Redis的哨兵模式,主从节点都由哨兵来监控,也就是说借助中间层
缺点:对中心服务器性能要求很高、单点瓶颈、单点故障
2 非集中式架构
概念:
服务的执行和数据的存储被分散到不同的服务器集群,服务器集群间通过消息传递进行通信和协调;
此结构没有中央服务器和节点服务器之分,所有的服务器地位都是平等(对等)的
相比于集中式结构,非集中式结构就降低了某一个或者某一簇计算机集群的压力,在解决了单点瓶颈和单点故障问题的同时,还提升了系统的并发度,比较适合大规模集群的管理
场景:Akka、Redis、Cassandra
Gossip 协议:最终一致性协议
每个节点周期性地从自己维护的集群节点列表中,随机选择 k 个节点,将自己存储的数据信息发给这 k 个节
点,接收到该信息的节点采用共识原则(谁的时间戳最新(也就是数据最新),就以谁为准的原则),对收到的数据和本地数据进行合并,这样迭代几个周期后,集群中所有节点上的数据信息就一致了
边缘计算是为应用开发者和服务提供商在网络的边缘侧提供云服务和IT环境服务;
目标是在靠近数据输入或用户的地方提供计算、存储和网络带宽”;
边缘计算设备多、分散,对可用性和速度要求高,相比而言使用非集中式更好。