分布式随笔
~橘子~
这个作者很懒,什么都没留下…
展开
-
使用etcd集群官方示例(演示版)
官方原文地址:https://etcd.io/docs/v3.3.13/demo/启动集群(Set up a cluster)在每个etcd节点上,指定集群成员:TOKEN=token-01CLUSTER_STATE=newNAME_1=machine-1NAME_2=machine-2NAME_3=machine-3HOST_1=10.240.0.17HOST_2=10.240.0.18HOST_3=10.240.0.19CLUSTER=${NAME_1}=http://${转载 2020-06-15 20:25:44 · 662 阅读 · 0 评论 -
分布式理论(六)Raft协议
拜占庭将军问题:在已知有成员不可靠的情况下,其余忠诚的将军需要在不受叛徒或间谍的影响下达成一致的协议。Raft算法是解决其问题的方案之一。Raft算法 - 易于理解的一致性算法。什么是Raft算法? Raft算法是一种用于管理复制日志的一致性算法,其功能与 Paxos算法相同类似,但其算法结构和 Paxos算法不同,在设计Raft算法时设计者就将易于理解作为其目标之一,这使得Raft算法更易于构建实际的系统,大幅度减少了工程化的工作量,也方便开发者此基础...原创 2020-06-10 19:44:39 · 608 阅读 · 1 评论 -
分布式理论(五)Paxos算法
世界上只有一种一致性算法,就是paxos算法。 常见的一致性算法有 Paxos、Raft等, Paxos协议是 Leslie Lamport于1990年提出的一种基于消息传递的、具有高度容错特性的一致性算法。Paxos算法解决的主要问题是分布式系统内如何就某个值达成一致。在相当长的一段时间内, Paxos算法几乎成为一致性算法的代名词,但是 Paxos有两个明显的缺点:第一个也是最明显的缺点就是 Paxos算法难以理解, Paxos算法的论文本身就比较晦涩难懂,要完全理解 Paxos...原创 2020-06-10 19:44:10 · 270 阅读 · 0 评论 -
分布式理论(四)3PC协议
3PC:three phase commit 三阶段提交协议,是二阶段提交的改进三阶段提交的两个改动点:引入超时机制。同时在协调者和参与者之中都引入了超时机制。 在第一阶段和第二阶段中插入一个准备阶段,保证了在最后提交阶段之前各参与节点的状态是一致的。阶段一:Can Commit事务询问。协调者向所有的参与者发送一个包含事务内容的 canCommit 请求,询问是否可以执行事务提交操作,并开始等待各参与者的响应。 各个参与者向协调者反馈事务询问的响应。参与者接收来自协调者的 canComm原创 2020-06-09 14:17:45 · 339 阅读 · 0 评论 -
分布式理论(三)2PC协议
2PC:two phase commit 二阶段提交协议 2pc是在计算机网络以及数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务的提交时,保持一致性而设计的一种算法。通常,二阶段提交也被称为是一种协议。 在分布式系统中,每个节点虽然可以知晓自己的操作是否成功,但无法知道其他节点的操作是否成功。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有的节点的操作结果,并最终指示这些节点是否要把操作结果真正的提交。(每个节...原创 2020-06-09 14:11:22 · 745 阅读 · 0 评论 -
分布式理论(二) BASE理论
对于分布式系统而言,分区容错性是必须的,因此在3选2的前提下,对一致性和可用性进行了权衡之后出现了BASE理论;BASE理论来源于对大型互联网分布式的总结,是基于CAP理论逐步演化而来的。其核心思想:既是无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。BASE理论 BA Basically Available 基本可用性 S Soft sta...原创 2020-06-08 20:35:24 · 285 阅读 · 0 评论 -
分布式理论(一) CAP理论
CAP理论C:Consistency 一致性A:Availablity 可用性P:Partition Tolerance 分区容错性什么是一致性?什么是可用性?什么是分区,什么是分区容错性? 选项 描述 C(Consistence) 一致性,指数据在多个副本之间能够保持一致的特性(严格的一致性) A(Availability) 可用性,指系统提供的服务必须一直处于可...原创 2020-06-08 20:32:59 · 295 阅读 · 0 评论