zoukankan      html  css  js  c++  java
  • CAP定理

    概念

    在分布式系统中最多具有 数据一致性(Consistence) 可用性(Availability) 网络分区容错(Partition tolerance)中的两个

    网络分区容错

    分布式节点之间的网络延迟 或者通信故障不影响分布式系统的服务运行 这一点是必须的

    一致性

    系统中的各个节点 所存储的信息是完全同步的

    举例1:`zookeeper`各个节点的信息是完全同步的
    举例2:`mysql`主从复制设置全同步 主库写入需要等待多个从库`全部`写入成功之后才会返回成功 否则写入失败
    

    可用性

    客户端每次访问总能返回需要的数据即使数据不是最新的 在springcloud中服务发现尤为重要
    在网络分区节点通信有延迟的情况下 在主节点不需要等待从节点完全写入成功 允许短暂的时间内数据是不一致的但是最终的数据是保持一致的

    举例1:mysql主从同步 主节点设置不需等待从节点同步成功 只要主节点写入成功立即返回不等待从库 ,读写分离的情况下是无法立即从 从库中查询出来的 ,
    如果有重复插入校验就只能从主库查询,减少了sql等待时间,mysql可以设置半同步 等待多个节点中的一个写入成功后即返回成功
    举例2;Eureka服务相互注册没有主从 因为网络延迟导致各个节点的数据在写入瞬间不一致,这对客户端访问请求没有影响 因为服务都是可用的
    

    因为P的存在 导致 CA只能二选一 即发生P故障 选择保证数据一致性 写入数据时 要么迅速失败

    或者为了保证可用性要允许主从节点短暂时间内数据不一致

  • 相关阅读:
    Elasticsearch系列---常见搜索方式与聚合分析
    Elasticsearch系列---Elasticsearch的基本概念及工作原理
    Elasticsearch系列---初识Elasticsearch
    记一次ES查询数据突然变为空的问题
    04、管道符、重定向与环境变量
    03、新手必须掌握的Linux命令
    02、安装Linux系统
    01、VM安装教程
    02、HTML 基础
    01、HTML 简介
  • 原文地址:https://www.cnblogs.com/cu-later/p/13831067.html
Copyright © 2011-2022 走看看