CAP原理通俗理解「建议收藏」

CAP原理通俗理解「建议收藏」在分布式系统中,有一个基本原则叫做CAP,consistence,一致性,availability,可用性,partitiontolerance分区容错性。 一致性,在这里指的是分布式系统的各个副本的值要保持同步,这里强的是空间上的一致,注意和数据库中ACID中的一致性相区分,那个一致性指的是事务执行前后的逻辑一致性,比如你转1000块给别人,不能你的账户少了1000块,对方的账户却没有多10…

大家好,又见面了,我是你们的朋友全栈君。

  1. 在分布式系统中,有一个基本原则叫做CAP,consistence,一致性,availability,可用性,partition tolerance分区容错性。
  2. 一致性,在这里指的是分布式系统的各个副本的值要保持同步,这里强的是空间上的一致,注意和数据库中ACID中的一致性相区分,那个一致性指的是事务执行前后的逻辑一致性,比如你转1000块给别人,不能你的账户少了1000块,对方的账户却没有多1000块。
  3. 可用性,指的是当client发出数据读写请求时,要在足够短的时间内做出响应。
  4. 分区容错性指的是,在不稳定和不可靠的网络环境下,节点可能出现失联或者荡机,网络可能出现分区子网,在这种情况下仍然能保证数据不出错。
  5. 所以,分区容错性是我们必须最终要保证的,但是一致性和可用性是一对矛盾的东西。所以在三者中,我们只能取两个。
  6. 为啥一致性和可用性是一对矛盾的东西呢?因为要实现一致性,在本质上都是进行副本之间的同步,而这个是需要花时间的,如果要保证强一致性,那么在同步的这一段时间中,是不可用的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 关于数据连接配置connectionStrings的写法[通俗易懂]

    关于数据连接配置connectionStrings的写法[通俗易懂]参考http://www.connectionstrings.com/1、SQLServer<addname="ApplicationName"connectionSt

    2022年7月1日
    46
  • linux udp编程_linux中socket编程

    linux udp编程_linux中socket编程本文主要描述了linux中UDP编程中的相关细节,涉及到点对点通信,组播,广播等

    2025年10月7日
    3
  • java 读取字符串文件_Java读取文件为字符串

    java 读取字符串文件_Java读取文件为字符串有时在处理文件时,我们需要将文件读取为Java中的String。下面学习如何将文件读取到Java中的String的几种方法。将文件读取到String有很多方法可以在Java中将文件读取到String。在本教程中学习以下几种方法。使用BufferedReader将文件读取到字符串;使用FileInputStream将文件读取到字符串;使用Files类将文件读取到字符串;使用Scanner类将文件读取…

    2022年7月26日
    42
  • 字符串转json对象_object转jsonarray

    字符串转json对象_object转jsonarray//后台Mapmap=newHashMap();map.put(“result”,1);map.put(“count”,count);JSONObjectjson=JSONObject.fromObject(map);response.getWriter().print(json.toString());////前台用net.sf.json.JSONObject将java.util….

    2022年9月26日
    2
  • 可攻陷所有WiFi网络!KRACK 漏洞发现者回答纪实

    可攻陷所有WiFi网络!KRACK 漏洞发现者回答纪实如果你能连接到的Wi-Fi一夜之间不安全了,通过自家路由器的Wi-Fi上网冲浪却陷入勒索软件和其他恶意软件的包围中,一浪冲到沙滩上……这并非是夸张,就在今天,比利时安全研究人员MathyVanhoef表示,WPA2安全加密协议已经被破解,并在演示视频中对一部Android智能手机执行了一次KRACK。在演示中,攻击者可以对用户传输…

    2022年6月4日
    32
  • todomvc项目_reactive vue

    todomvc项目_reactive vue所有实现代码在文章结尾处分析整个实现过程的步骤:1.显示大标题“todoMVC”在h1中引入{{msg}},在js文件中将msg赋值,从而在html中显示大标签的内容2.当没有数据时,两块模板需要隐藏,用到v-if标签。将两个模板放在一个template标签中,当items.length=0时,则v-if=false,进而两块模板隐藏。3.引入数据。将JS中写好的默认数据引入在html的每一个li标签中。4.将每个事件划分为完成/未完成。该功能用到双向数据绑定,可以在浏览器中vue模

    2025年10月30日
    3

发表回复

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

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