分布式基础-详解CAP定理与应用场景分析

朋友,你是不是一样呢? 废话少说:

在这里插入图片描述



什么是分布式系统

最简单的事例,就比如我们的商品管理系统。之前的系统是包含了所有的功能,比如用户注册登录、管理员功能、物品管理等等。这叫做集中式系统。也就是一个人干好几件事。

后来随着功能的增多,用户量也越来越大。集中式系统维护太麻烦,拓展性也不好。于是就考虑着把这些功能进行划分。通俗的理解就是原本需要一个人干的事,现在分给n个人干,各自干各自的,最终取得和一个人干的效果一样。

正规一点的定义是:一个业务拆分多个子业务,部署在不同的服务器上。 然后通过一定的通信协议,能够让这些子业务之间相互通信。

既然分给了n个人,那就涉及到这些人的沟通交流协作问题。想要去解决这些问题,就需要先了解分布式系统中的CAP理论,给后面Zookeeper或者部分的中间件,埋下一个小小的伏笔。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。壮士,千万不要被这个看起来高大上的概念迷惑住。

举个小例

首先我们看一张图。
1举例

网络中有两个节点N1和N2,之间的网络是可以连通的,N1中有个应用程序A,和一个数据库V,N2也有个应用程序B2和一个数据库V。现在,A和B是分布式系统的两个部分,V是分布式系统的两个子数据库:

那么问题来了。突然有两个用户小明和小华分别要同时访问了N1和N2。理想的操作是下面这样:

举例2


(1)小明访问N1节点,小华访问N2节点。同时访问的;

(2)小明把N1节点的数据V0变成了V1;

(2)N1节点一看自己的数据有变化,马上执行M操作,告诉了N2;

(4)小华读取到的就是最新的数据。也是正确的数据。

上面是种最理想的情景。它满足了CAP理论的三个特性。但对于一个分布式系统来说,是不可能满足以下的三点:

  • Consisteny(一致性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙哥手记

非常感谢你的赞赏,一起加油整起

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值