当前位置: 首页 > news >正文

CAP理论的例子讲解

前言:

在理论计算机系统中,CAP理论是指对分布式数据存储,不可能同时满足以下三个提交:

  • consistency(一致性): 每次read,要么能获取到最新的数据,要么获取失败(错误或超时)
  • availability(可用性): 每次请求肯定会有正确的数据(但不保证数据是最新)
  • partition tolerance(分区容忍性): 尽管有部分消息在节点间丢失,但是系统还可以正常运行

正文

当设计分布式系统时,你会经常听到CAP理论指定了某种设计上限。和我的其他入门级文章一样,本篇文章尝试通过真实案例理解CAP理论。

Chapter 1: 记忆力公司,你的新事业

昨晚当你的妻子感激你记住她的生日并且准备了礼物的时候,一个奇怪的点子戛然而出。通常人们不善于记忆,而你的记忆力却出奇的好。为什么不利用你的天分开启新事业呢?这个点子越想越靠谱。事实上,你已经想好解释新点子的广告语:

记忆力公司! - 无需您记忆也永远不会忘记!
经常会忘记事情?没关系,一个电话就能搞定!
当你需要记忆事情时,直接拨打555-555-REMEM,告诉我们你需要记忆什么。比如你想记住老板的手机号,直接拨打给我们,当你需要用到时,直接拨打同样号码,我们会告知您老板的手机号码。
收费:每次1美分

所以每次电话交流通常是这样的:

  • 客户:你好,能帮我存储下邻居的生日吗?
  • 公司:好的,什么时候呢?
  • 客户:2月2号
  • 公司:(在这个用户的主页中写下来)已经存储,当你需要知道邻居的生日时,请随时指点我们。
  • 客户:多谢!
  • 公司:没问题,此次服务收费1美分。

chapter 2: 公司扩张

你的工作获取Y孵化器的融资,创业点子如此简单,成本很低(只需笔记本和电话),公司进展蒸蒸日上。每天都有好几百个电话。
你逐渐遇到了一些问题,发现越来越多的客户不得不等待与你通话,许多客户甚至等得不耐烦直接挂电话了。另外假如某天你生病了,那么这天公司就失去了一天的业务,甚至这天不能提供服务还会导致老用户不满意。
所以,你决定让你妻子加入到你的事业来。
你启动了一个建议计划:

  • 你和你妻子都有一个分机
  • 客户仍然只需要拨打555-555-RMEM
  • 电话交换机会将客户的来电分发给空闲的分机

chapter 3:

http://ksat.me/a-plain-englis...

相关文章:

  • 欧拉函数 + 线性求法
  • 编写高质量JavaScript代码之并发
  • Python成长之路【第三篇】函数
  • Callable和Future用法示例
  • 谁说我们IT不重要???
  • linux-NAT连接外网
  • DataWorks支持PyODPS类型任务
  • JS 时间函数 / 格式化时间戳
  • THML DOM / Element 对象操作
  • [Excel VBA]单元格区域引用方式的小结
  • 量子计算机还没完全实现,硅谷已流行开量子计算聚会
  • 1.安装zabbix
  • K最近邻算法(KNN)
  • ssh scp远程免密
  • 量子力学科普
  • 【Leetcode】101. 对称二叉树
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 07.Android之多媒体问题
  • Apache的基本使用
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • Cookie 在前端中的实践
  • ES6简单总结(搭配简单的讲解和小案例)
  • gcc介绍及安装
  • iOS小技巧之UIImagePickerController实现头像选择
  • PHP 7 修改了什么呢 -- 2
  • PHP 的 SAPI 是个什么东西
  • python_bomb----数据类型总结
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Sass 快速入门教程
  • sessionStorage和localStorage
  • springMvc学习笔记(2)
  • SQLServer之创建显式事务
  • Vue UI框架库开发介绍
  • Web设计流程优化:网页效果图设计新思路
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 对象管理器(defineProperty)学习笔记
  • 如何解决微信端直接跳WAP端
  • 想写好前端,先练好内功
  • 异常机制详解
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (27)4.8 习题课
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (十一)手动添加用户和文件的特殊权限
  • (算法)求1到1亿间的质数或素数