本文主要想简单介绍一下为什么人们逐渐放弃了集中式,转向分布式以及分布式的一些特点,分布式存在的一些问题。
集中式与分布式
既然讲到分布式,我们首先讲一讲集中式。曾经很长一段时间,由于大型主机强势地发展,集中式才是主流。大型机拥有卓越的性能和良好的稳定性,人们都喜欢将服务部署在一台大型机上。但集中式存在着一些问题:
- 大型机价格昂贵,经济成本高。
- 大型机运维人才培养成本高,需要运维人员掌握其技术细节。
- 集中式有明显的单点问题(简而言之,就是这台大型机宕机了,服务就不可用了,这个后果相当严重)。
- 大型机可扩展性差,难以横向扩展。
随着PC机性能不断提升和网络技术快速普及,同时业务不断发展,也势必要求可扩展性更强的架构。所以渐渐的,人们选择用小型机和普通PC来搭建分布式系统。所谓的分布式系统,就是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。它的优点就是解决了集中式的上述缺点,它经济与运维成本更低,不存在明显的单点问题(如果系统设计合理的话),且更容易进行横向扩展。但没有银弹,分布式环境也存在种种问题。
分布式存在的问题
通信异常
由于网络的不可靠性,分布式环境下各节点之间每次进行网络通信,都会伴随着网络不可用的风险。就算顺利得完成了一次网路通信,其延时也会远大于单机操作。
网络分区
当网络发生异常情况,导致分布式系统中部分节点之间的网络延时越来越大,最终导致组成分布式系