其他分享
首页 > 其他分享> > 架构 | 笔记6

架构 | 笔记6

作者:互联网

如下内容来之https://time.geekbang.org/column/article/6463 学习笔记:

对于设计分布式系统的架构师来说,CAP 是必须掌握的理论。

CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想,

第一版:

  对于一个分布式计算系统,不可能同时满足一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三个设计约束

第二版:

  在一个分布式系统中,当涉及读写操作时,只能保证一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三者中的两个,另外一个必须被牺牲。

CAP 应用

  虽然 CAP 理论定义是三个要素中只能取两个,因为网络本身无法做到 100% 可靠,有可能出故障,所以分区是一个必然的现象。

  如果我们选择了 CA 而放弃了 P,那么当发生分区现象时,为了保证 C,系统需要禁止写入,当有写入请求时,

  系统返回 error(例如,当前系统不允许写入),这又和 A 冲突了,因为 A 要求返回 no error 和 no timeout。因此,分布式系统理论上不可能选择 CA 架构,前提是发生了分区,只能选择 CP 或者 AP 架构

 

最典型的就是在分区期间记录一些日志,当分区故障解决后,系统根据日志进行数据恢复

 

 

如何设计计算高可用架构?

 

 

 

冷备:备机上的程序包和配置文件都准备好,但备机上的业务系统没有启动(注意:备机的服务器是启动的),主机故障后,需要人工手工将备机的业务系统启动,并将任务分配器的任务请求切换发送给备机。

温备:备机上的业务系统已经启动,只是不对外提供服务,主机故障后,人工只需要将任务分配器的任务请求切换发送到备机即可。冷备可以节省一定的能源,但温备能够大大减少手工操作时间,因此一般情况下推荐用温备的方式。

 

 

 

 

 

 

 

业务高可用的保障:异地多活架构

异地多活架构可以分为同城异区、跨城异地、跨国异地 ; 核心思想异地多活设计的理念可以总结为一句话:采用多种手段,保证绝大部分用户的核心业务异地多活!;

 

 接口级故障的四种应对方法,分别是降级、熔断、限流和排队,希望对你有所帮助。

 

标签:架构,分区,CAP,备机,笔记,异地,多活
来源: https://www.cnblogs.com/dongxizhen/p/16212176.html