最近有时间研究分布式架构,因为公司使用的Zookeeper,并没有使用Spring Cloud Eureka,所以想探究一下他们之间的区别,于是看到简书里的文章:Spring Cloud Eureka简介及与Zookeeper对比,明显的区别可能就是Zookeeper为CP设计,而Eureka为AP设计,但是对CAP/AP/CP很不理解,于是查阅资料,做一个简单的了解。

Eureka服务治理机制与Dubbo服务治理机制的比较

Feature Eureka Zookeeper
服务健康检查 可配支持 (弱)长连接,keepalive
CAP AP CP
watch支持(客户端观察到服务提供者变化) 支持 long polling/大部分增量 支持
自我保护 支持 -
客户端缓存 支持 -
自身集群的监控 metrics -

Eureka支持健康检查,自我保护等

Zookeeper为CP设计,Eureka为AP设计。作为服务发现产品,可用性优先级较高,一致性的特点并不重要,宁可返回错误的数据,也比不反回结果要好得多。

服务列表变更Zookeeper服务端会有通知,Eureka则通过长轮询来实现,Eureka未来会实现watch机制

CAP理论提出就是针对分布式数据库环境的,所以,P这个属性是必须具备的。
P就是在分布式环境中,由于网络的问题可能导致某个节点和其它节点失去联系,这时候就形成了P(partition),也就是由于网络问题,将系统的成员隔离成了2个区域,互相无法知道对方的状态,这在分布式环境下是非常常见的。
因为P是必须的,那么我们需要选择的就是A和C。
大家知道,在分布式环境下,为了保证系统可用性,通常都采取了复制的方式,避免一个节点损坏,导致系统不可用。那么就出现了每个节点上的数据出现了很多个副本的情况,而数据从一个节点复制到另外的节点时需要时间和要求网络畅通的,所以,当P发生时,也就是无法向某个节点复制数据时,这时候你有两个选择:
选择可用性 A(Availability),此时,那个失去联系的节点依然可以向系统提供服务,不过它的数据就不能保证是同步的了(失去了C属性)。
选择一致性C(Consistency),为了保证数据库的一致性,我们必须等待失去联系的节点恢复过来,在这个过程中,那个节点是不允许对外提供服务的,这时候系统处于不可用状态(失去了A属性)。

最常见的例子是读写分离,某个节点负责写入数据,然后将数据同步到其它节点,其它节点提供读取的服务,当两个节点出现通信问题时,你就面临着选择A(继续提供服务,但是数据不保证准确),C(用户处于等待状态,一直等到数据同步完成)。

CAP理论/AP架构/CP架构相关推荐

  1. cap理论具体含义_架构设计之「 CAP 定理 」

    在计算机领域,如果是初入行就算了,如果是多年的老码农还不懂 CAP 定理,那就真的说不过去了.CAP可是每一名技术架构师都必须掌握的基础原则啊. 现在只要是稍微大一点的互联网项目都是采用 分布式 结构 ...

  2. 分布式架构之CAP理论/AP架构/CP架构

    上一篇梳理一下 CAP定理:https://blog.csdn.net/Soinice/article/details/96782876 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性) ...

  3. CAP理论、AP架构、CP架构

    目录 CAP理论 AP架构 CP结构 CAP理论 CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partitio ...

  4. 分布式CAP理论:为什么CAP理论中的三个指标不能同时满足呢?

    文章目录 前言 分布式系统的特点 分布式系统技术是用来解决什么问题的呢? CAP代表什么含义 一致性(Consistency) 可用性(Availability) 分区容错性(Partition To ...

  5. CAP理论-快速开始

    文章目录 一.CAP原则(CAP定理) 1. 如何选择CP/AP 二.其他参考 一.CAP原则(CAP定理) CAP 定理的含义 参考URL: http://www.ruanyifeng.com/bl ...

  6. 分布式系统-CAP 理论

    在前一篇分布式系统–拜占庭将军问题(The Byzantine Generals Problem) 我们理解了共识问题的背景,这一节主要讨论如何解决或者理解自己系统中的共识问题,通过什么来分辨自己的系 ...

  7. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  8. 分布式系统架构常识:CAP理论

    转载自 分布式系统架构常识:CAP理论 什么是CAP理论? 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想.2年后麻省理工学院的Seth Gilb ...

  9. 分布式系统架构系列讲解一(分布式一致性 1):CAP理论

    分布式系统架构系列讲解 - 总目录 集中式应用进行服务化拆分后,必然会出现一个问题:如何保证各个节点(Node)之间的数据一致性? 比如以下场景:用户首先发起一次更新操作,映射到节点A:然后,用户又做 ...

最新文章

  1. Caffe源码中各种依赖库的作用及简单使用
  2. 我国计算机通信技术现状及未来的发展趋势,我国计算机通信技术现状及未来的发展趋势...
  3. 【资源】100+本数据科学电子书
  4. python中with的用法
  5. 计算机网络层实验路由表苏州科技,苏州科技大学计算机网络实验报告课案.docx...
  6. mybatis学习(34):动态sql-choose
  7. web td不对齐_珍稀干货!阿里 Web 音视频开发趟坑指南
  8. XXE漏洞利用技巧(XML注入):从XML到远程代码执行
  9. sprintf函数打印数据不对_printf的归宿-数据打印到哪儿了
  10. 如何避免大规模线上故障?
  11. WebRTC学习与DEMO资源一览
  12. Java 反射常用方法
  13. 工程造价步骤_史上最全造价工作流程,全了
  14. 渝粤题库 陕西师范大学 《教育社会学》作业
  15. 山东计算机专业的在职硕士,2019年山东科技大学在职研究生计算机技术专业关于招生方面的信息是什么...
  16. 白话windows之四 异常处理机制(VEH、SEH、TopLevelEH...)
  17. 风压和功率计算公式轴流式_离心风机风压计算
  18. php的qq邮箱正则表达式语法_正则表达式综合应用:qq邮箱提取
  19. 把一个人的特点写具体作文_五年级下册第五单元同步作文《把一个人的特点写具体》范文4篇...
  20. 好心情精神心理科医生:如何与青春期的孩子沟通?

热门文章

  1. 小试牛刀—猜数字游戏
  2. 高德地图-初始化的时候获取行政区边界和中心点
  3. OSChina 程序员节乱弹 ——看程序员如何优雅地生活
  4. linux查询系统硬件配置
  5. SQL Server 数据库
  6. mac 3分钟装好Vue(全程命令行)
  7. 乐高机器人教室布置图片大全_机器人教室
  8. Oracle数据库中processes参数设置
  9. CTU-UHB Intrapartum Cardiotocography Database 产时CTG信号数据下载与读取(2021.7.9 新增阿里云盘下载)
  10. 西门子触摸屏数据历史数据记录_西门子触摸屏mp277历史数据丢失(免费技术支持)...