CAP理论-分布式系统的基础理论-------CP、AP案例场景分析
一、前言:
CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性,只能满足其中两个特性,一致性、可用性、分区容错性三者不可兼得:
- 一致性(Consistency)
- 可用性(Availability)
- 分区容错性(Partition tolerance)
如何做到分布式系统具备高可用??
常规的思路就是冗余,增加节点,当A节点挂掉,还有B节点提供服务,但是节点多了之后,数据一致性又很难保障了!!!
如何提升数据一致性??
减少节点,最好就是单点服务,但是节点少了,可用性又很难保障,这么看一致性和高可用就是一个对立面。
二、案例分析():
1、AP案例分析-SpringCloud-Eureka
图示,注册中心采用集群部署,满足高可用的特性,当订单服务在扩容的时候,新增订单服务实例4,数据注册到Eureka A节点,在其余的两个节点没有订单服务4这个实例信息,这种情况下,用户服务获取服务列表,可能获取不到订单实例4,这就是最简单的数据不一致情况。
Eureka集群本身,各个节点都处于平等的地位,完全是为了冗余,提升高可用。
2、CP案例分析-Zookeeper
知识点预热:
ZooKeeper 集群中的角色简介:
Leader: 负责发起投票和决议,更新系统状态
Follower:用于接收客户端请求并向客户端返回结果,在选主过程中参与投票
Observer: 可以接收客户端连接,将写请求转发给 Leader 节点,但不会参与 Leader 发起的投票,也不会被选举为 Leader,Observer 的目的是为了扩展系统,提高读取速度
在第二步,当Follower发现Leader节点挂了之后,Follower会拒绝现有的客户端连接,参与主从选举,在成功选举出leader之前,zk将不可用;这个时候如果ZK作为注册中心,注册中心将不可用。
注:图片来自百度
CAP理论-分布式系统的基础理论-------CP、AP案例场景分析相关推荐
- CAP理论 (分布式系统下的) 通俗理解
目录 一致性(C) 可用性(A) 分区容错性(P) CAP定理(核心) 相互关系 CAP 理论是针对分布式数据库而言的,它是指在一个分布式系统中,一致性(Consistency, C).可用性(Ava ...
- 大厦设计师 -- 建造者模式 (Builder Pattern) 介绍 使用案例场景分析 优缺点 及代码演示
一句话概括: 使用多个简单对象一步一步构建成复杂对象,将复杂对象的构建与表示相分离. 补充介绍: 建造者模式(Builder Pattern)中有一个 Builder 类,这个类会一步一步构造最终的对 ...
- Eureka工作原理(Eureka简介Eureka ServerEureka Client自我保护机制分布式系统中的CAP理论Eureka 工作流程)
一.Eureka简介 Eureka Server(注册中心,相当于zookeeper) Eureka Client: Provider Consumer 多个Eureka就叫集群.集群之间会定时通过r ...
- 分布式系统原理 之9 CAP 理论
分布式系统原理 CAP 理论 CAP 理论是由 Eric Brewer 提出的分布式系统中最为重要的理论之一[8].本文将 CAP 理论安排在原理部分的最后介绍是为了利用前面已经介绍过的几种分布式协议 ...
- 事务连接中断_一文搞懂分布式事务-CAP理论
互联网系统中,分布式事务是无法避免的,目前多数解决方案是BASE理论,最终一致性,结合事务补偿. 1.什么是CAP理论. CAP理论,又称为布鲁尔定理,是加州大学伯克利分校的计算机科学家埃里克.布鲁尔 ...
- CAP理论-快速开始
文章目录 一.CAP原则(CAP定理) 1. 如何选择CP/AP 二.其他参考 一.CAP原则(CAP定理) CAP 定理的含义 参考URL: http://www.ruanyifeng.com/bl ...
- CAP理论、AP架构、CP架构
目录 CAP理论 AP架构 CP结构 CAP理论 CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partitio ...
- 分布式架构之CAP理论/AP架构/CP架构
上一篇梳理一下 CAP定理:https://blog.csdn.net/Soinice/article/details/96782876 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性) ...
- CAP理论/AP架构/CP架构
最近有时间研究分布式架构,因为公司使用的Zookeeper,并没有使用Spring Cloud Eureka,所以想探究一下他们之间的区别,于是看到简书里的文章:Spring Cloud Eureka ...
最新文章
- 筛选汇总 power_批量汇总多Excel表格 | 标题都从第n行起怎么办?
- 机器学习算法与Python实践之(五)k均值聚类(k-means)
- 【原创】自动更新程序2--更新程序的主窗体(技术:spring.net+三层架构+webservice+IrisSkin2换肤)...
- C/C++Linux服务器开发/高级架构师
- 12月9日 perform使用入门
- python 冒泡排序 时间复杂度
- java map 实例_java中map集合嵌套形式简单示例
- 对xhtml、dhtml、shtml的解释说明
- 服务器软件系统日常运维工作制度
- 2022年信息安全工程师考试知识点:访问控制
- 统计物理中积分计算和态密度计算要点
- 树莓派3B+安装系统(Raspbian)以及配置环境
- Macbook如何更换固态硬盘【亲测有效】
- 路由器和交换机常见故障信息收集命令总结
- Python 3.X 用Thinker做任意多边形的缩放图(一)
- 电源的电流大会烧毁电流吗
- 程序员个性化简历模板项目
- python银行管理系统
- pmp考试需要备考多长时间?
- 皕杰报表中的图表钻取
热门文章
- win8.1 android sdk,Android sdk 秒退 win8解决思路
- Linux下 Xpad不能移动拖动 解决办法
- bigdata学习笔记--01 Linux基础--Linux目录结构
- 如何使用OpenCV在图像中抠出指定的颜色区域
- Java MKT(平均动力学温度)值计算
- 信息用短信服务器发送什么意思,已用短信息服务发送是什么意思
- 盛大创新院创新模式梳理
- 电脑开机显示“Windows\system\vgaoem.fon”丢失的解决方法
- IBM ServerGuide 8.41
- 基于稳态视觉诱发电位(SSVEP)的中文拼写器脑机接口(BCI)对于应用于ALS患者