前言 在Hyperledger Fabric无系统通道启动及通道的创建和删除中,我们已经完成了以无系统通道的方式启动 Hyperledger Fabric 网络,并将链码安装到指定通道.但目前为止,实验中的 orderer 服务都是通过单独的排序组织来维护且只有一个,那能不能不要排序组织而使用普通组织来运行维护多个 orderer 服务呢?当然是可以的,本文将在之前的实验基础上,启动一个没有 orderer 组织的 Fabric 网络,网络中包含三个组织且每个组织运行维护着一个 Raft 协议的…
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.多组织共同运行维护Orderer服务中,我们已经完成了让普通组织运行维护 Orderer 服务,但是最后发现由于运行排序服务的组织需要较为开放的访问策略,可能会降低组织的安全性,所以本实验将尝试使用提供 TLS-CA 服务的 council 组织运行维护 Raft 协议的三个 orderer 节点.本文将在之前的实验基础上,启动一个没有 orderer 组织的 Fabric ,其中由 counci…
raft共识算法 分布式一致性问题 如果说,服务器只有一个节点,那么,要保证一致性,没有任何问题,因为所有读写都在一个节点上发生.那如果server端有2个.3个甚至更多节点,要怎么达成一致性呢?下面就来介绍其中一种分布式共识算法---raft算法 Raft是什么 1.历史背景 在讲Raft前,有必要提一下Paxos算法,Paxos算法是Leslie Lamport于1990年提出的基于消息传递的一致性算法.然而,由于算法难以理解,刚开始并没有得到很多人的重视.其后,作者在八年后,也就是1998…
Raft共识算法 一.背景 拜占庭将军问题是分布式领域最复杂.最严格的容错模型.但在日常工作中使用的分布式系统面对的问题不会那么复杂,更多的是计算机故障挂掉了,或者网络通信问题而没法传递信息,这种情况不考虑计算机之间互相发送恶意信息,极大简化了系统对容错的要求,最主要的是达到一致性. 所以将拜占庭将军问题根据常见的工作上的问题进行简化:假设将军中没有叛军,信使的信息可靠但有可能被暗杀的情况下,将军们如何达成一致性决定? 对于这个简化后的问题,有许多解决方案,第一个被证明的共识算法是 Paxos,…
转载请注明出处:https://www.cnblogs.com/morningli/p/16770129.html 之前都在集群配置是固定的(参与共识算法的server集合)假设下讨论raft.在实践中,偶尔有需要改变配置,比如说当server故障时替换server,或者改变复制级别.虽然可以通过下线整个集群,更新配置文件,重启集群来实现,但是这样会导致集群在改变的过程中一直不可用.另外,人工操作存在操作错误的风险.为了避免这样的问题,raft通过自动化配置变更并将它包含到raft共识算法中.…
前言 在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织,但目前为止,我们启动 orderer 节点的方式都是通过系统通道的方式,这样自带系统通道的网络很不简洁优雅.好在 Fabric 2.3 以上就开始支持无系统通道创建应用通道的功能,本文将对此功能进行详细解释和介绍,然后通过无系统通道的方式启动联盟链网络并在此基础上完成通道的添加和删除.本实验必要的准备工作和 DNS 配置请参考 准备工作. 背景介绍 实验准备 本文网络结构直接将…
5.1.启动orderer节点服务 上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群. 首先启动orderer节点,切换至orderer.example.com服务器,即前文指定的10.130.116.8服务器,执行如下命令进入启动docker进程:  docker-compose -f docker-compose-orderer.yaml up -d  运行完毕后我们可以使用docker ps看到运行了一个名字为ordere…
转载请注明出处:https://www.cnblogs.com/morningli/p/16745294.html raft是一种管理复制日志的算法,raft可以分解成三个相对独立的子问题: 选主(Leader election):原有的leader故障后需要选举一个新的leader. 复制(Log replication): leader必须接受client发送的记录(log entries)然后复制到集群中其他节点,并强制要求其他节点的日志和自己保持一致. 安全(Safety):raft安全…
引言 Hyperledger Fabric是当前比较流行的一种联盟链系统,它隶属于Linux基金会在2015年创建的超级账本项目且是这个项目最重要的一个子项目.目前,与Hyperledger的另外几个子项目Hyperledger Iroha,Hyperledger Indy和Hyperledger Sawtooth一样,Hyperledger Fabric正处于生命周期中的活跃(active)阶段,它的架构设计正在不断地完善并持续为开发者和用户提供更强大,更便捷的区块链服务. 与主流的区块链系统…
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council 组织运行维护 Raft 协议的三个 orderer 节点.但目前我们都是在单个主机上启动 Fabric 网络,本文将尝试将 Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务 中的网络结构部署在多个主机上. 工作准备 本文工…