1.2.5 大型网站技术和java中间件-分布式系统的基础知识 :分布式系统的难点

1.2.5 大型网站技术和java中间件-分布式系统的基础知识 :分布式系统的难点

1.2.5.1 缺乏全局时钟

1.单机系统中,程序按照单机的时钟为准,控制时序比较容器;分布式系统中,每个节点都有自己的时钟,如果依赖时序来进行协调,就会难以处理

2.可以想到保持时钟完全一致,但是同步本身就有时差

3.很多时候,我们需要区分两个动作的顺序而不需要具有的时间->可以交给一个单独的的集群来处理,通过集群来区分多个动作的先后

1.2.5.2 面对故障独立性

单机系统:

 单进程系统中,机器问题,OS问题,或者程序自身问题都会导致程序整体不能使用,不会出现部分不能使用的情况

 

分布式系统:

  整个系统中的一个部分出现问题,其他部分正常的情况下经常出现,称为独立性故障,必须要应对独立性故障

1.2.5.3 处理单点故障

如果某个角色或者功能只有某台单机在支撑,这个节点就称为单点,发生故障为单点故障;(SPOF Single Point Of Failure)

1.我们需要在分布式系统中尽量避免出现单点,尽量保证由集群完成

2.如果不能把单机变成集群实现,还有另外的选择

  2.1 给单点做好备份,能够在出现问题时进行恢复,尽量做到自动恢复,降低恢复时间

  2.2 降低单点登录故障的影响范围。

2.2举例:

 

 

 

如果把数据库拆分为多份操作

  -> 单个数据库出现问题的影响面就小了,出现多态同时出现问题的情况下才会算严重故障

  -> 但是:出现故障的次数和时间就长了

总的来说是增加了故障出现的次数和时间,降低了故障的影响面 -> 没有真正的解决问题

 

1.2.5.4 事务的挑战(ACID)

相对而言,单机的事务会比较容易。

分布式中:如何解决分布式事务

         1.两阶段提交(2PC)

         2.最终一致

         3.BASE

         4.CAP

         5.Paxos

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值