001---集中式到分布式

1.集中式

集中式系统指的是一台或者多台服务器组成中心节点,数据集中存储在这个中心结点,同时,系统的所有业务都在这个中心结点来集中的处理。集中式系统存在部署简单,但是不友好,无须考虑考虑对对个服务如何多节点的协作,也不需要考虑多节点之间的分布式事务问题。集中式系统存在的问题:

  • 大型机价格昂贵,经济成本高。
  • 大型机运维人才培养成本高,需要运维人员掌握其技术细节。
  • 集中式有明显的单点问题(简而言之,就是这台大型机宕机了,服务就不可用了,这个后果相当严重)。
  • 大型机可扩展性差,难以横向扩展

2.分布式

分布式系统,就是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。它的优点就是解决了集中式的上述缺点,它经济与运维成本更低,不存在明显的单点问题(如果系统设计合理的话),且更容易进行横向扩展。但没有银弹,分布式环境也存在种种问题。

  • 通信异常: 由于网络的不可靠性,分布式环境下各节点之间每次进行网络通信,都会伴随着网络不可用的风险。就算顺利得完成了一次网路通信,其延时也会远大于单机操作。
  • 网络分区:当网络发生异常情况,导致分布式系统中部分节点之间的网络延时越来越大,最终导致组成分布式系统的所有节点,只有部分节点之间能够进行正常通信,而另一些节点则不能。我们把这种情况称为网络分区,俗称“脑裂”
  • 节点故障:有很多个节点,每个节点都有可能出现故障,单点的故障有可能引起整个系统的故障。

3.分布式事务

数据库的事物是ACID(原子性、一致性、隔离性、持久性),在操作系统中如果严格遵守ACID,可能会出现系统的可用性和严格一致性的冲突,因此需要权衡利弊,兼顾这两个性质,提出分布式系统的事务CAP和BASE。

CAP:

  • C(Consistency)指的依旧是一致性,指数据在多个副本之间是否能保持一致的特性。如果针对一个数据项的更新操作执行成功之后,所有用户都可以读取到其最新的值,那么这样的系统就被称为强一致性(严格一致性)。
  • A(Availability)指的是可用性,指系统提供的服务必须一直处于可用状态,对于用户的每一个操作请求总是能够在有限时间内返回结果。
  • P(Partition tolerance)分区容错性,分布式系统在遇到任何网络分区故障时,仍需要能够保证对外提供满足一致性和可用性的服务。

BASE:

  • BA指的是系统出现不可预知的故障时,允许损失“部分”可用性,但这绝不等于不可用。比如响应时间上的损失或者请求高峰期部分用户被引导到降级页面。
  • S指的是系统允许不同副本之间的同步存在延时,但不会影响系统的整体可用性。
  • E指系统经过一段时间的同步,最终能够到达一个一致性状态,而不用保证数据的实时一致性(强一致性)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值