本文说下Zookeeper和CAP的关系

文章目录

  • CAP定理
  • Zookeeper和CAP的关系
  • 本文小结

CAP定理

CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)这三个基本需求,最多只能同时满足其中的2个


Zookeeper和CAP的关系

作为一个分布式系统,分区容错性是一个必须要考虑的关键点。一个分布式系统一旦丧失了分区容错性,也就表示放弃了扩展性。因为在分布式系统中,网络故障是经常出现的,一旦出现在这种问题就会导致整个系统不可用是绝对不能容忍的。所以,大部分分布式系统都会在保证分区容错性的前提下在一致性和可用性之间做权衡。

ZooKeeper是个CP(一致性+分区容错性)的,即任何时刻对ZooKeeper的访问请求能得到一致的数据结果,同时系统对网络分割具备容错性;但是它不能保证每次服务请求的可用性。也就是在极端环境下,ZooKeeper可能会丢弃一些请求,消费者程序需要重新请求才能获得结果。

ZooKeeper是分布式协调服务,它的职责是保证数据在其管辖下的所有服务之间保持同步、一致;所以就不难理解为什么ZooKeeper被设计成CP而不是AP特性的了。而且, 作为ZooKeeper的核心实现算法Zab,就是解决了分布式系统下数据如何在多个服务之间保持同步问题的。


本文小结

本文介绍了Zookeeper和CAP的关系,前面写过cap定理相关的文章,感兴趣的可以去翻下。

Zookeeper和CAP的关系相关推荐

  1. ZooKeeper和CAP理论及一致性原则

    ZooKeeper和CAP理论及一致性原则 一.CAP理论概述 CAP理论告诉我们,一个分布式系统不可能同时满足以下三种 一致性(C:Consistency) 可用性(A:Available) 分区容 ...

  2. Zookeeper纸上谈兵——Zookeeper与CAP原则

    今天来介绍一下CAP原则,以及Zookeeper对于CAP的取舍. 1. 什么是CAP CAP原则又称CAP定理,是指在一个分布式系统中,Consistency(一致性).Availability(可 ...

  3. 谈谈FLP和CAP的关系

    1. 写在前面 承接上一篇博客:也谈分布式系统中的网络模型和故障模型,本篇博客仍然想探讨一些分布式系统的理论知识. 大家应该都听说过分布式系统理论中的FLP不可能性和CAP不可能三角,那么FLP和CA ...

  4. zookeeper和Kafka的关系

    1 zookeeper必备知识 zk的整体结构很像java中的数,zk的单个节点很像java中的接待,也就是一个Node由value值和nexts指针构成:也就是ls /作为根节点,其它节点都派生于此 ...

  5. 咱们一起聊聊Zookeeper

    Google的三篇论文影响了很多很多人,也影响了很多很多系统.这三篇论文一直是分布式领域传阅的经典.根据MapReduce,于是我们有了Hadoop:根据GFS,于是我们有了HDFS:根据BigTab ...

  6. zookeeper(1)

    gossip 博客园 首页 新随笔 联系 管理 随笔 - 634  文章 - 3  评论 - 434 </div><!--end: blogStats --> </div ...

  7. 2. Dubbo和Zookeeper的关系

    转自:https://www.cnblogs.com/hirampeng/p/9540243.html Dubbo建议使用Zookeeper作为服务的注册中心. 1.   Zookeeper的作用: ...

  8. dubbo 与 zookeeper 的关系

    Dubbo建议使用Zookeeper作为服务的注册中心. 1. Zookeeper的作用: zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip ...

  9. dubbo与zookeeper的关系

    Dubbo建议使用Zookeeper作为服务的注册中心. 1.   Zookeeper的作用: zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是 ...

最新文章

  1. 为什么校招面试中总被问“线程与进程的区别”?我该如何回答?
  2. python人工智能入门书籍推荐-小编就给大家推荐几本python机器学习入门书!
  3. 基础知识:数字、字符串、列表 的类型及内置方法
  4. PHP 5.3-5.5 新特性
  5. verilog实现步进电机脉冲分配器(三相六拍)基于Nexys4DDR开发板
  6. linux 容器_Linux容器的幕后花絮
  7. 从 Android 6.0 源码的角度剖析 Binder 工作原理 | CSDN 博文精选
  8. 神经网络中的前向和后向算法
  9. nginx对PHP文件报File not found.错
  10. ef1a启动子_组织特异性启动子的筛选方法
  11. Linux Deamon函数
  12. linux 密码字典生成,Linux下的字典生成工具Crunch 创造自己的专属字典
  13. 计算机 无法进入睡眠模式,Win10无法进入睡眠模式怎么办?电脑不能进入睡眠模式的解决方法...
  14. 微信如何关闭城市服务定位服务器,位置定位微信(怎么悄悄的查对方位置)
  15. 两个整数之间的所有素数,素数个数,素数和
  16. nao机器人行走速度_NAO机器人学习笔记(2)
  17. 安卓基于Frida HOOK传感器 实现虚拟运动跑步
  18. ML(10) - 模型训练技巧
  19. 【深度学习-CS231n】线性分类器和神经网络
  20. STM8S系列基于STVD开发,自定义printf函数+TIM5精确延时函数模块化工程示例

热门文章

  1. SQL Server 2008 R2 数据库安装
  2. Meteor——以NodeJS为基础环境,MongoDB为数据环境的全栈开发平台!
  3. Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01
  4. [置顶] 自己动手写Web容器之TomJetty之六:动态页面引入
  5. 生活随笔:郊外骑单车
  6. 关于ASPNET_Membership用户被锁的解决
  7. 9102 BITRUN Hackathon is COMING!
  8. XPath CheatSheet
  9. Spring Boot应用的打包和部署
  10. geoTools学习笔记001---(简介)