cap理论P(分区容错)的理解

cap理论P(分区容错)的理解一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里。容忍性就提高了。然而,要把数据复制到多个节点,就会带来一致性的问题,就是多个节点上面的数据可能是不一致的。要保证一


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。

当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。

提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里。容忍性就提高了。

然而,要把数据复制到多个节点,就会带来一致性的问题,就是多个节点上面的数据可能是不一致的。要保证一致,每次写操作就都要等待全部节点写成功,而这等待又会带来可用性的问题。

总的来说就是,数据存在的节点越多,分区容忍性越高,但要复制更新的数据就越多,一致性就越难保证。为了保证一致性,更新所有节点数据所需要的时间就越长,可用性就会降低。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164333.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在C#中利用wmi操作DNS服务器

    在C#中利用wmi操作DNS服务器public class DNSAdminLib    {        //要连接的DNS服务器        private string sServerPath;        //用户名        private string username = null;        //密码        private string password = null;        //服务器

    2022年10月2日
  • MySQL 中NULL和空值的区别?

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!01 小木的故事作为后台开发,在日常工作中如果要接触Mysql数据库,那么不可避免会遇到Mysql中的NULL和空值。那你知道它们有什么区别吗?学不动了,也不想知道它们有什么区别。大兄弟,不行啊,要面试!前些天我的好朋友小木去应聘工作,他面试完回来和我聊天回味了一道他的面试题。面试官:你有用过MyS…

    2022年2月28日
  • dp3003打印机怎么清零_最小宽度dp

    dp3003打印机怎么清零_最小宽度dp有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例 1:输入:s = “aaabbb”输出:2解释:首先打印 “aaa” 然后打印 “bbb”。示例 2:输入:s = “aba”输出:2解释:首先打印 “aaa” 然后在第二个位置打印 “b” 覆盖掉原来的字符 ‘a’。 提示:1 <= s.le

    2022年8月9日
  • 牛客:数据库实战—1—查找最晚入职员工的所有信息、查找入职员工时间排名倒数第三的员工所有信息

    牛客:数据库实战—1—查找最晚入职员工的所有信息、查找入职员工时间排名倒数第三的员工所有信息1、查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hir…

    2022年6月13日
  • 使用python创建数组的方法[通俗易懂]

    使用python创建数组的方法[通俗易懂]本文介绍两种在python里创建数组的方法。第一种是通过字典直接创建,第二种是通过转换列表得到数组。方法1.字典创建(1)导入功能(2)创立字典(3)将字典带上索引转换为数组代码示例如下:importnumpyasnpimportpandasaspddata={“name”:[‘xiaozhang’,‘xiaoli’,‘lily’,‘tony’],“sex”:[‘bo…

    2022年5月2日
  • Mask_RCNN训练自己的数据——制作COCO格式的数据集[通俗易懂]

    Mask_RCNN训练自己的数据——制作COCO格式的数据集[通俗易懂]matterport版mask_rcnn系列:1.Mask_RCNN训练自己的数据2.目标检测:使用Open_cv在图像上批量画boundingbox3.Mask_RCNN:使用COCO权重进行特定类别预测(只标记出你需要的类别)4.Mask_RCNN:ValueError:Dimension1inbothshapes……………

    2022年10月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号