ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

架构 | 笔记6

2022-05-01 08:31:06  阅读:166  来源: 互联网

标签:架构 分区 CAP 备机 笔记 异地 多活


如下内容来之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 关注的粒度是数据,而不是整个系统。
  • CAP 是忽略网络延迟的。
  • 正常运行情况下,不存在 CP 和 AP 的选择,可以同时满足 CA。
  • 放弃并不等于什么都不做,需要为分区恢复后做准备。

 

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

 

 

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

 

 

 

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

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

 

 

 

 

 

 

 

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

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

 

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

 

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有