当前位置:网站首页>Common distributed theories (CAP, BASE) and consensus protocols (Gosssip, Raft)
Common distributed theories (CAP, BASE) and consensus protocols (Gosssip, Raft)
2022-08-03 16:03:00 【InfoQ】
一、CAP理论与BASE理论:
1、什么是 CAP 理论:
- C:Consistency 一致性:指强一致性,分布式系统中的所有节点在同一时刻具有同样的值、都是最新的数据副本,一致性保证了不管向哪台服务器写入数据,其他的服务器能实时同步数据
- A:Availability 可用性:部分结点宕机不影响整个集群对外提供服务,每次向未故障的节点发送请求,服务节点总能保证在有限的时间内处理完成并进行响应,从用户角度来看就是不会出现系统操作失败或者访问超时等问题,但是系统内部可能会出现网络延迟等问题
- P:Partition Tolerance 分区容错性:由于网络的问题错综复杂,如果某个节点因为网络等问题造成数据不一致,或者数据延迟很久才同步过来,虽然会影响部分节点数据的时效性,但是服务节点依然是可用的,分布式系统要能容忍这种情况的,也就是说,尽管网络上有部分消息丢失,但系统仍然可继续工作.
2、一致性的类别:
3、什么是 BASE 理论:
- BA 基本可用:指分布式系统在出现故障的时候,允许损失部分可用性,保证核心可用.但不等价于不可用.比如:搜索引擎0.5秒返回查询结果,但由于故障,2秒响应查询结果;网页访问过大时,部分用户提供降级服务等.
- 软状态:软状态是指允许系统存在中间状态,并且该中间状态不会影响系统整体可用性,即允许系统在不同节点间副本同步的时候存在延时.
- 最终一致性:系统中的所有数据副本经过一定时间后,最终能够达到一致的状态,不需要实时保证系统数据的强一致性.
二、一致性协议:
1、Gossip协议:
- (1)Gossip协议是周期性散播消息,每隔一段时间传播一次
- (2)被感染的节点,每次可以继续散播N个节点
- (3)每次散播消息时,都会选择尚未发送过的节点进行散播,不会向发送的节点散播
- (4)同一个节点可能会收到重复的消息,因为可能同时多个节点正好向它散播
- (5)集群是去中心化的,节点之间都是平等的
- (6)消息的散播不用等接收节点的 ack,即消息可能会丢失,但是最终应该会被感染
2、Raft一致性协议:
- (1)Leader节点:同大多数分布式中的Leader节点一样,所有数据的变更都需要先经过Leader
- (2)Follower节点:Leader节点的追随者,负责复制数据并且在选举时候投票的节点
- (3)Candidate候选节点:参与选举的节点,就是Follower节点参与选举时会切换的角色
2.1、Leader 选举:
2.2、数据日志的复制:
边栏推荐
- 8月份加密市场的三个关键预期 价格虽向北移动?预计仍将处于动荡之中
- 基于DMS的数仓智能运维服务,知多少?
- 16 【过渡 动画】
- 上亿数据怎么玩深度分页?兼容MySQL + ES + MongoDB
- 兔起鹘落全端涵盖,Go lang1.18入门精炼教程,由白丁入鸿儒,全平台(Sublime 4)Go lang开发环境搭建EP00
- 神经网络,凉了?
- Basic knowledge points in js - events
- How to prevent hacking Windows server security Settings
- 【Unity入门计划】制作RubyAdventure01-玩家的创建&移动
- Ruoyi Ruoyi framework @DataScope annotation use and some problems encountered
猜你喜欢
随机推荐
下午见!2022京东云数据库新品发布会
NodeJs - cross domain
扩展欧几里得求逆元实例
5 v 8.4 v1A charging current charging management IC
Convex Optimization of Optimal Power Flow (OPF) in Microgrids and DC Grids (Matlab Code Implementation)
基于DMS的数仓智能运维服务,知多少?
如何分析周活跃率?
js中的基础知识点 —— 事件
每日练习------有10个数字要求分别用选择法从大到小输出
深度学习——安装CUDA以及CUDNN实现tensorflow的GPU运行
不安装运行时运行.NET程序
A new round of competition for speech recognition has started. Will natural dialogue be the next commanding height?
After the cnpm installation is successful, the prompt is not an internal and external command, nor is it a runnable command solution
CS免杀姿势
PWA 应用 Service Worker 缓存的一些可选策略和使用场景
JS handwritten call apply bind (detailed) (interview)
JD6606SP5_JD6606SSP_JD6606SASP_JD6621W7百盛新纪元授权代理商
【深度学习】今日bug(8月2)
JS手写call apply bind (详细)(面试)
AWS中国区SDN Connector