摘要:
PBFT之视图更新 1 检查点 为了保证安全,除非消息中的请求至少已由 f+1 个无故障的副本节点执行,并且可以从视图更新中向其他节点证明,否则消息必须保留在副本节点日志中。另外,如果某些副本丢失了所有非故障副本节点丢弃的消息,则需要通过转移全部或部分服务状态来使消息更新。因此,副本也需要一些证明状 阅读全文
摘要:
PBFT之三阶段提交 1 前言 Raft保证当复制状态机数量为 3f+1 时, 最多可以允许 f 个状态机虚假。 一个 view 中只有一个 primary 其他为副本。 视图更改说明 primary 崩溃或失败。 2 算法流程 1. 客户端发送请求到 primary 调用服务操作 2. prima 阅读全文
摘要:
Hyperledger Fabric 1. "Hyperledger Fabric1.4环境搭建" 2. "深入解析Hyperledger Fabric搭建的全过程" 3. "Hyperledger Fabric动态添加组织到网络中" 4. "Hyperledger Fabric多机部署" 5. " 阅读全文
摘要:
Raft算法之日志压缩 上一篇文章:Raft算法之成员关系变化 最后的一部分是关于服务器日志压缩的,因为随着运行时间的增增长,日志信息也会变得越来越多,占有更多的空间。因此Raft采取了日志压缩的方法解决该问题,即将当前整个系统状态写入稳定存储的快照,然后该时间点之前的日志就可以丢弃掉,从而释放存储 阅读全文
摘要:
上一篇文章:Raft算法之日志复制 Raft算法之成员关系变化 有时候可能会遇到需要对集群中的成员数量进行更新的操作,比较简单的做法将更新操作分为两个阶段进行,在第一个阶段将全部的使用旧的配置文件的集群C_old成员全部关闭,所以将不能对客户端的请求进行处理。然后在第二个阶段使用新的配置文件启动集群 阅读全文
摘要:
上一篇文章:Raft算法之Leader选举 之前说完了Raft算法中的Leader选举过程,本文将在上一篇文章的基础上说明日志复制。 Raft算法之日志复制 先看以下日志所包含的基本内容: 可以被复制状态机执行的命令 任期号 :创建该日志时Leader所处的当前任期号 索引号 :整数,用于标识日志所 阅读全文
摘要:
记录一下对Raft算法的理解,算法的内容比较多,所以准备将算法的全部过程分成四个部分来写。分别是 Raft算法之Leader选举 Raft算法之日志复制 Raft算法之成员关系变化 Raft算法之日志压缩 该文章为第一部分。 Raft算法之Leader选举 简单介绍 首先需要了解Raft中的一个关键 阅读全文
摘要:
原文地址 "Raft算法" 摘要 Raft是用于管理被复制的日志的共识算法。它与multi Paxos算法产生的效果相同,并且和Paxos算法一样高效。但是结构与Paxos不同。这使得Raft算法比Paxos算法更容易理解。也为构建实际系统提供了更好的基础。为了加强理解,Raft将几个关键元素分离, 阅读全文
摘要:
Hyperledger Fabric动态配置Raft节点 最近看官方文档发现新的共识算法etcdRaft允许动态添加或删除排序节点,所以也花了一天时间操作了以下,写篇文章把整个过程记录一下。 初始网络本文设置了4个Orderer节点,1个Peer节点(用于更新配置文件以及测试用),然后动态添加第五个 阅读全文
摘要:
Hyperledger Fabric 开启TLS调用Java SDK 之前更新的Fabric 1.4.1+版本之后新增了etcdRaft共识机制,而且官方文档明确指定了如果使用该共识机制就必须开启TLS,所以之前通过关闭TLS调用SDK的方式就不好用了,并且Fabric 2.0版本抛弃了solo,k 阅读全文