🐶
book
  • 本 GitBook 介绍
  • 读书笔记
    • 《Redis 设计与实现》
      • 字符串
      • 链表
      • 字典
      • 跳表
      • 整数数组
      • 压缩列表
      • 对象
    • 《编写高质量代码:改善Python程序的91个建议》
      • mysql
      • 函数的参数传值还是传引用
  • 随想
    • 文档写作
      • 写作技巧
      • Graphviz 画图
      • Swagger 使用例子
      • 中文文档规范
    • youtube 视频
    • 随想
  • 计算机
    • 分布式系统
      • CAP 介绍
      • 分步提交
    • 算法
    • 编程语言
      • NodeJS
      • Python
      • Go
      • CSS
        • Learn CSS | Codecademy
Powered by GitBook
On this page
  • 对于分布式计算系统来说,不可能同时满足以下三点
  • 理解CAP理论的最简单方式是想象两个节点分处分区两侧。
  • 下面这些系统的 CAP 是怎样的?

Was this helpful?

  1. 计算机
  2. 分布式系统

CAP 介绍

对于分布式计算系统来说,不可能同时满足以下三点

  • 一致性(Consistency) (等同于所有节点访问同一份最新的数据副本)

  • 可用性(Availability)(每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据)

  • 分区容错性(Partition tolerance)(以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择)

理解CAP理论的最简单方式是想象两个节点分处分区两侧。

  • 允许至少一个节点更新状态会导致数据不一致,即丧失了C性质。

  • 如果为了保证数据一致性,将分区一侧的节点设置为不可用,那么又丧失了A性质。

  • 除非两个节点可以互相通信,才能既保证C又保证A,这又会导致丧失P性质。

下面这些系统的 CAP 是怎样的?

  • mysql

  • redis

  • kafka

todo

Previous分布式系统Next分步提交

Last updated 5 years ago

Was this helpful?