系统502

502gateway  时间:2021-02-28  阅读:()
一篇文章搞清楚什么是分布式系统CAP定理本文是对GilbertandLynch'sspecificationandproofoftheCAPTheorem文章的概括版本.
大部分内容参照AnIllustratedProofoftheCAPTheorem文章的.
什么是CAP定理CAP定理是分布式系统中的基本定理,这个理论表明任何分布式系统最多可以满足以下三个属性中的两个.
一致性(Consistency)可用性(Availability)分区容错性(Partitiontolerance)CAP定理指出分布式系统不可能同时满足一致性,可用性和分区容忍性.
听起来很简单,但一致性、可用、分区容忍意味着什么在本文中,我们将介绍一个简单的分布式系统,并解释该系统可用性,一致和分区容错的含义.
什么是分布式系统分布式系统(DistributedSystem)是一组电脑,通过网络相互连接传递讯息与通讯后并协调它们的行为而形成的系统.
组件之间彼此进行交互以实现一个共同的目标.
把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学.
现在让我们考虑一个非常简单的分布式系统.
该系统由\(G_1\)和\(G_2\)两个服务组成.
这两个服务都追踪相同的变量\(V\),这个变量的初始值为\(v_0\).
\(G_1\)和\(G_2\)彼此之间可以通信,并且能够和外部的客户端进行通信.
下图正是我们系统的架构:1/8如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop客户端可以向任何服务器发出读写请求.
当一个服务接收到请求,它会做任何需要的计算,之后对客户端发出响应.
比如下面就是一个写请求的例子:如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop下面是读请求的例子:2/8如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop现在我们有了分布式系统的基本概念,接下来的文章将进一步介绍分布式系统的可用性、一致性以及分区容错性.
一致性Gilbert和Lynch对一致性的描述为:anyreadoperationthatbeginsafterawriteoperationcompletesmustreturnthatvalue,ortheresultofalaterwriteoperation(中文意思是在写操作完成后开始的任何读操作都必须返回该值,或者后续写操作的结果).
也就是在一致的系统中,一旦客户端将值写入任何服务器并获得响应,那么后续的读客户端将从分布式系统中任何的服务器中读取到这个值.
下面系统就不满足这个特点:3/8如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop客户端更新\(G_1\)服务器上的\(v\)为\(v_1\),\(G_1\)服务器对此做出了响应.
但是客户端从\(G_2\)获取\(v\)的值得到的结果确是\(v_0\).
下面系统就是一致性的系统:4/8如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop在这个系统中,\(G_1\)服务器在响应客户端之前将\(v\)的值复制到\(G_2\)服务器上,这时候客户端从\(G_2\)获取\(v\)的值得到的结果是\(v_1\).
可用性(Availability)Gilbert和Lynch对可用性的描述为:everyrequestreceivedbyanon-failingnodeinthesystemmustresultinaresponse(中文意思:系统中非故障节点收到的每个请求都必须产生响应).
也就是说在可用系统中,客户端向服务器发送请求并且该服务器未崩溃,则该服务器必须最终响应客户端.
分区容错性(PartitionTolerance)5/8Gilbert和Lynch对可用性的描述为:thenetworkwillbeallowedtolosearbitrarilymanymessagessentfromonenodetoanother(中文意思:允许网络丢失从一个节点发送到另一个节点的任意多个消息).
这意味着\(G_1\)和\(G_2\)之间的通信消息可以被丢掉,如果他们之间所有的消息都被丢弃,那么我们的系统看起来像下面一样:如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop在分布式环境下,网络分区是一个必然的事实.
所以我们的系统必须满足分区容错性,这样我们的系统才能够正常运行.
CAP证明到这里我们已经明白了分布式系统的可用性、一致性以及分区容错性的含义,现在我们来证明为什么分布式系统不能同时满足这三者.
我们用反证法证明,假设现实中确实存在满足这三个条件的分布式系统,那么当系统之间的网络发生分区的时,它看起来像下面的情况:6/8如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop现在客户端\(C_1\)更新\(G_1\)服务器上的\(v\)为\(v_1\),因为我们的系统是可用的,所以\(G_1\)服务器会做出响应,但是因为网络发生了分区,\(G_1\)无法将数据复制到\(G_2\).
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop写完数据之后,另外一个客户端\(C_2\)向\(G_2\)服务器发出读取\(v\)的请求,但是因为网络分区的存在,\(G_2\)服务器上\(v\)还是更新之前的值,所以客户端\(C_2\)得到的结果为\(v_0\).
7/8如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop这种情况下\(C_2\)并没有获取到\(C_1\)写入的值,也就不满足数据一致性.
由此可以得出分布式系统不能同时满足可用性、一致性以及分区容错性.
CP还是AP首先既然是分布式系统,那么网络分区是一定会存在的,所以分布式系统必须满足P,否则就不是一个正真的分布式系统.
所以我们必须在A和C之间做出选择.
如果分布式系统不要求强的可用性,也就是容许系统停机或者长时间无响应的话,这种情况我们就可以考虑舍弃A.
我们常见的Zookeeper就是满足CP的.
如果我们的系统可用性要求非常高,那么我们可以牺牲一致性来满足.
这里说的牺牲一致性并不是说系统一直处于不一致的状态,要是这样的话这系统就没啥用了.
我们说的牺牲一致性一般都是说牺牲强一致性,而保证最终一致性.
也就是说系统短暂是不一致性的,过段时间能保证一致,也就是最终一致性.
所以,对于一个分布式系统来说,P是一个基本要求,CAP三者中,只能根据系统要求在C和A两者之间做权衡,并且要想尽办法提升P.
关于最终一致性可以参见本博客的BASE理论.
本博客文章除特别声明,全部都是原创!
转载本文请加上:转载自过往记忆(https://www.
iteblog.
com/)本文链接:【】()PoweredbyTCPDF(www.
tcpdf.
org)8/8

CloudServer:$4/月KVM-2GB/50GB/5TB/三个数据中心

CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...

统计一下racknerd正在卖的超便宜VPS,值得推荐的便宜美国VPS

racknerd从成立到现在发展是相当迅速,用最低的价格霸占了大部分低端便宜vps市场,虽然VPS价格便宜,但是VPS的质量和服务一点儿都不拉跨,服务器稳定、性能给力,尤其是售后方面时间短技术解决能力强,估计这也是racknerd这个品牌能如此成功的原因吧! 官方网站:https://www.racknerd.com 多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可...

SoftShellWeb:台湾(台北)VPS年付49美元起,荷兰VPS年付24美元起

SoftShellWeb是一家2019年成立的国外主机商,商家在英格兰注册,提供的产品包括虚拟主机和VPS,其中VPS基于KVM架构,采用SSD硬盘,提供IPv4+IPv6,可选美国(圣何塞)、荷兰(阿姆斯特丹)和台湾(台北)等机房。商家近期推出台湾和荷兰年付特价VPS主机,其中台湾VPS最低年付49美元,荷兰VPS年付24美元起。台湾VPSCPU:1core内存:2GB硬盘:20GB SSD流量...

502gateway为你推荐
中国电信互联星空中国电信宽带于互联星空的区别腾讯文章怎样才能在手机腾讯网上发表文章?ejb开发EJB是啥玩意了ios系统ios是什么意思 ios系统是什么srv记录如何验证是否为域控制器创建了 SRV DNS 记录什么是云平台什么是家庭云平台?网站优化方案网站建设及优化的方案blogcnblogcn网页无法正常显示,直接跳转http://www.7t7t.com/7?手工杀毒怎样不用杀毒软件自己手动查毒?淘宝软文范例经典软文案例
申请域名 已备案域名注册 最新代理服务器地址 kvmla 服务器怎么绑定域名 国外网站代理服务器 国外在线代理 韩国代理ip atom处理器 博客域名 脚本大全 windows2008 cloudflare 游戏服务器 俄勒冈州 竞彩论坛空间 qq空间登陆首页 灵动鬼影实录剧情 电信19元无限流量卡 北京共有产权房申请网站 更多