本文主要介绍什么是分布式系统以及分布式系统存在哪些问题。
分布式
互联网技术的发展,导致大型网站需要的计算能力和存储能力越来越高。网站架构逐渐从集中式转变成分布式。
什么是分布式
把一个计算任务分解为若干个计算单元,并分派到若干个不同的计算机中去执行,然后再汇总计算结果。
分布式的工作方式有点类似于团队合作。当有一项任务分配到某个团队之后,团队内部的成员开始各司其职,然后把工作结果统一汇总给团队主管,由团队主管再整理团队的工作成果汇报给公司。
分布式存在的问题
虽然分布式和集中式系统相比有很多优势,比如能提供更强的计算、存储能力,避免单点故障等问题。但是由于采用分布式部署的方式,就经常会出现网络故障等问题,并且如何在分布式系统中保证数据的一致性和可用性也是一个比较关键的问题。
比如在集中式系统中,有一些关键的配置信息,可以直接保存在服务器的内存中,但是在分布式系统中,如何保存这些配置信息,又如何保证所有机器上的配置信息都保持一致,又如何保证修改一个配置能够把这次修改同步到所有机器中呢?
再比如,在集中式系统中,进行一个同步操作要写同一个数据的时候,可以直接使用事务+锁来管理保证数据的ACID。但是,在分布式系统中如何保证多台机器不会同时写同一条数据呢?
还有很多诸如此类的问题,大部分都是围绕着 分布式系统中的数据的一致性问题 。
(全文完)