美文网首页
分布式常用概念

分布式常用概念

作者: 云烟1f3bca320ba6 | 来源:发表于2017-04-18 22:08 被阅读0次

ACID

事务的四个特征:Atomic原子性,Consistency一致性,Isolation隔离性,Durability持久性

CAP

在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。

BASE

BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,BASE是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的结论,是基于CAP定理逐步演化而来的,其核心思想是即使无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。

2PC

两阶段提交

阶段一:提交事务请求(投票阶段)(会阻塞)

阶段二:执行事务提交(执行阶段)

3PC

解决2PC的阻塞,但还是可能造成数据不一致

阶段一:CanCommit

阶段二:PreCommit(将2pc的阶段一分成两部,减少了阻塞)

阶段三:doCommit(由于有阶段一和二,这儿超时会提交,会造成数据不一致)

paxos

Paxos的目的是让整个集群的对某个值的变更达成一致。

  • phase 1
    • a) proposer向网络内超过半数的acceptor发送prepare消息
    • b) acceptor正常情况下回复promise消息
  • phase 2
    • a) 在有足够多acceptor回复promise消息时,proposer发送accept消息
    • b) 正常情况下acceptor回复accepted消息

raft

Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。

Raft 将一致性问题分解成了三个相对独立的子问题:

  • 领导选举:一个新的领导人需要被选举出来,当先存的领导人宕机的时候
  • 日志复制:领导人必须从客户端接收日志然后复制到集群中的其他节点,并且强制要求其他节点的日志保持和自己相同。
  • 安全性:在 Raft 中安全性的关键是状态机安全:如果有任何的服务器节点已经应用了一个确定的日志条目到它的状态机中,那么其他服务器节点不能在同一个日志索引位置应用一个不同的指令。

系统可用性指标

系统可用性% 宕机时间/年 宕机时间/月 宕机时间/周 宕机时间/天
90% (1个9) 36.5 天 72 小时 16.8 小时 2.4 小时
99% (2个9) 3.65 天 7.20 小时 1.68 小时 14.4 分
99.9% (3个9) 8.76 小时 43.8 分 10.1 分钟 1.44 分
99.99% (4个9) 52.56 分 4.38 分 1.01 分钟 8.66 秒
99.999% (5个9) 5.26 分 25.9 秒 6.05 秒 0.87 秒

各高可用方案

Transaction-Across-DataCenter.jpg

相关文章

  • 分布式常用概念

    ACID 事务的四个特征:Atomic原子性,Consistency一致性,Isolation隔离性,Durabi...

  • 第一章 ES简介与安装

    一 常用概念 Elastic Stack 四大金刚ElasticSearch 基于json的分布式搜索和分析引擎L...

  • 互联网开发常用概念书目录

    常用概念 集群 负载均衡 分布式 读写分离 水平扩展和垂直扩展 缓存 静态化处理 精彩文章 利用Memcache解...

  • iOS Git(选) geekband

    Git是一个分布式的代码版本管理工具。类似的常用工具还有SVN,CVS。 源代码管理概念 Git 的基本概念 ] ...

  • SpringBoot - dubbo+zookeeper

    在分布式系统中,国内常用zookeeper+dubbo的组合,简单的概念看一下,接下来就直接动手吧,以下资料在文章...

  • Vue项目发布与部署--应用打包与部署篇

    nginx概念 nginx 是一个高性能的HTTP和反向代理服务器,常用于分布式服务器管理. HTTP基础功能:处...

  • Springboot与分布式

    Springboot与分布式 分布式系统: 在分布式系统中,国内常用zookeeper+dubbo组合,而Spri...

  • java分布式,最终一致性,java幂等问题分析

    分布式学习: 分布式常用的分布式事务解决方案介绍有多少种?基于 Redis 的分布式锁分布式简介关于分布式事务、两...

  • 常用概念

    几个团队管理中经常用到的概念:蝴蝶效应、破窗效应、马斯洛需求层次、墨菲定律、囚徒困境、近因效应、奥卡姆剃刀法则、彼...

  • 常用概念

    对象具有状态(拥有内部数据),行为(方法)和标识(每一个对象都可以唯一的与其他对象区分开来)。 类描述了所有具有相...

网友评论

      本文标题:分布式常用概念

      本文链接:https://www.haomeiwen.com/subject/drwqzttx.html