分布式之CAP理论与BASE理论

CAP理论

CAP:一致性(consistency)、可用性(Availability)、分区容错(partition-tolerance)。CAP定律说的是在一个分布式计算机系统中,一致性,可用性和分区容错性这三种保证无法同时得到满足,最多满足两个。

C:强一致性

系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读到最新的值,这样的系统被认为是具有强一致性的。 等同于所有节点访问同一份最新的数据副本;

A:可用性

每一个操作总是能够在一定的时间内返回结果,这里需要注意的是"一定时间内"和"返回结果"。一定时间指的是,在可以容忍的范围内返回结果,结果可以是成功或者失败。 对数据更新具备高可用性;

P:分区容错性

理解为在存在网络分区的情况下,仍然可以接受请求(满足一致性和可用性)。这里的网络分区是指由于某种原因,网络被分成若干个孤立的区域,而区域之间互不相通。还有一些人将分区容错性理解为系统对节点动态加入和离开的能力,因为节点的加入和离开可以认为是集群内部的网络分区。

Partition Tolerance的意思是,在网络中断,消息丢失的情况下,系统照样能够工作。 以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择.

一致性(C)与可用性(A)的决择:

CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定 会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用 性之间进行权衡。

常见的CP和AP系统:

  • CP: Zookeeper
  • AP: Eureka

BASE理论

BASE理论是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的缩写。

BASE理论是对CAP中一致性和可用性权衡的结果,其来源于对大型互联网分布式实践的总结,是基于CAP定理逐步演化而来的。

其核心思想是:既是无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。

相关推荐
沐浴露z2 小时前
一篇文章详解Kafka Broker
java·分布式·kafka
pythonpioneer4 小时前
Ray Tune 强大的分布式超参数调优框架
分布式·其他
笨蛋少年派4 小时前
Hadoop High Availability 简介
大数据·hadoop·分布式
一只小透明啊啊啊啊6 小时前
Java电商项目中的概念: 高并发、分布式、高可用、微服务、海量数据处理
java·分布式·微服务
兜兜风d'17 小时前
RabbitMQ 七种工作模式全解析
分布式·rabbitmq
菜鸡儿齐18 小时前
kafka高可靠性
分布式·kafka
兜兜风d'20 小时前
RabbitMQ 持久性详解
spring boot·分布式·rabbitmq·1024程序员节
blammmp20 小时前
RabbitMQ :概述,Web界面介绍,快速上手,工作模式
java·分布式·rabbitmq
Empty_7771 天前
Ceph分布式存储
分布式·ceph
有谁看见我的剑了?1 天前
Rocky 9 安装 Elasticsearch分布式集群基于非安全特性
分布式·安全·elasticsearch