CAP理论解释,你掌握了吗?

有一天你收到老客户罗志祥的电话,要求查询"明天的约会安排";

你一脸蒙蔽,我不知道啊,你的记忆页上没这个信息啊; 客户咣当挂断了电话。

当天复盘, 猜想是昨天罗志祥把业务电话打到我老婆那里了,事实确实如此。

你们都意识到分机号带来的新问题。

多么可怕的分布式设计中的缺陷!你的分布式系统是不一致的!总会有一个时机,客户会将业务电话打到你们其中一个;在下一次拨号时,客户就可能收到不一致的信息。

睡前吹风时间, 你想到一个主意:

  •  当我们其中一个人接到客户新的记忆业务,我们会在挂电话之前告诉另一个人
  • 这样我们都能在笔记本上记下新业务
  • 当客户查询时,我们两个都可以轻松应对
  • 这里有一个问题:当其中一人收到新业务电话,两人就不能并行工作了。

    例如:当你收到新业务并告诉我记录信息时, 我不能接其他电话。

    但是这个问题也不大,因为大部分都是查询业务(可以再拨电话重试),我们首要的是确保信息正确。

    你老婆进一步提出:如果某天你不在岗,我收到新业务,你的笔记本不能得到最新信息,这就会有可用性问题, 因为我没能通知你,我就不能挂断电话完成这单业务。

    你慢慢理解了分布式系统中的“一致性”和“可用性”。你提出了更优方案:

    1. 收到新业务电话, 挂电话前通知对方,这样两个人都能记下信息

    2. 某天其中一人不在岗,另外一人收到新业务电话 ,给缺岗者发一封邮件

    3. 第二天缺岗者上岗查收邮件,更新自己的笔记本。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章