公众号:BSN研习社

两者是不同的。

在kafka共识模式中,orderer与orderer之间不会互相直接建立连接,而是与kafka连接。这种共识模式中,依赖于外部的kafka集群系统和zookeeper集群系统。

每个orderer会把自己的交易发送给kafka集群,交易在kafka对应的topic中排序后,kafka把排序后的交易推送给orderer节点。Orderer节点收到交易后对交易打包,然后发给peer.

在raft共识模式中,orderer与orderer之间直接建立连接,不依赖外部系统。在orderer节点中,会创建raft的协程来处理与其他orderer的通信。

一个raft集群由主节点和若干个跟随节点组成,主节点收到消息后复制给其他(跟随)节点,其他(跟随)节点收到消息后把交易写到日志里,把结果反馈给主节点,主节点收到足够多的反馈时,就认为这是有效的交易,否则为无效交易。主节点的产生是各个节点通过投票产生的,如果有一个跟随节点断开,就会重新再选举。

当前BSN的fabric框架使用的是kafka共识,在同一个区块链网络(Fabric网络)中共识只能是一种。

id:BSN_2021公众号:BSN研习社两者是不同的。在kafka共识模式中,orderer与orderer之间不会互相直接建立连接,而是与kafka连接。这种共识模式中,依赖于外部的kafka集群系统和zookeeper集群系统。每个orderer会把自己的交易发送给kafka集群,交易在kafka对应的topic中排序后,kafka把排序后的交易推送给orderer节点。Orderer节点收到交易后对交易打包,然后发给peer.在raft共识模式中,orderer与orderer之
fabric1.4.2从 kafka 迁移到 raft (命令版) 实现所依赖的原理详见https://blog.csdn.net/qq_42750537/article/details/96428765 这一篇用来记录具体命令,及遇到的一些问题。 构建RatfMeta data 获取可用配置 1)创建一个基于 raft 的网络(v1.4.2),需使用和现 kafka 网络相同的证书文件 2)在新的ra...
区块链是一个公开的 分布式 账本系统,为参与网络的每个人提供对所有记录的访问。 对块的所有添加都是永久且不可更改的。 所有主要或次要更改都在新块中报告并且无法撤消。 由于账本是 分布式 的,因此没有集中的权力。 通过消除对中介的需求,区块链使各方能够快速轻松地跟踪交易。 在密码学的帮助下,发生在区块链上的交易是透明、可靠、经过身份验证和安全的。 区块链 分布式 账本的最大优势是降低了运营成本。 IBM、巴克莱、柯达等公司已经在使用区块链。区块链可以包含土地、汽车、农产品等资源以外的资源的交易细节。任何调整都必须被网络中的大多数人接受,并且这是使用 共识 算法 实现的。 本文讨论了区块链系统中使用的一些核心 共识 算法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
系统进入维护模式,应用交易将被拒绝,只有排序服务管理员可以对通道配置进行更新; 系统停止运行,考虑到迁移过程可能出错,对数据进行备份; 系统启动,每个通道的 共识 类型和基础数据进行了修改; 系统重启,并开始以 Raft 共识 模式运行;每个通道都验证确认已经完成了选举; 系统退出维护模式并正常提供服务; 检查证书 是否存在这个证书 crypto-config/ordererOrganizations/example.com/msp/ad 拜占庭将军问题是 分布式 领域最复杂、最严格的容错模型。但在日常工作中使用的 分布式 系统面对的问题不会那么复杂,更多的是计算机故障挂掉了,或者网络通信问题而没法传递信息,这种情况不考虑计算机之间互相发送恶意信息,极大简化了系统对容错的要求,最主要的是达到一致性。 所以将拜占庭将军问题根据常见的工... 为什么移除Zookeeper? 原来Zookeeper在 Kafka 中承担了Controller选举、Broker注册、TopicPartition注册和选举、Consumer/Producer元数据管理和负载均衡等。 即承担了各种元数据的保存和各种选举。 而Zookeeper并“不快”,集群规模大了之后,很容易成为集群的性能瓶颈。 Kafka 作为一个消息中间件,还依赖额外的一个协调系统,而不能实现自
Apache Kafka 将会在3.0 的版本里去掉 Apache Zookeeper 的依赖独立运行。3.0的的 Kafka 从架构,代码层面相对于1.*,2.*版本 发生了很大的变化。变化主要集中在 Kafka Raft ,Contrller Quorum, Meta data ,Snapshot等模块的改进。本文是 Kafka Raft 技术系列中的第一篇,我们先来初步体验一下K Raft 的入门使用。 作者介绍: 腾讯高级工程师 腾讯云C Kafka 研发负责人,Apache Kafka Contribut.
相信大家最近一定关注到一款重量级消息中间件 Kafka 发布了2.8版本,并且正式移除了对Zookeeper的依赖,背后的设计哲学是什么呢?仅仅只是减少了一个外部依赖吗? 答案显然不会这么简单,容我慢慢道来。 在解答为什么之前,我觉得非常有必要先来阐述一下Zookeeper的经典使用场景。 1、Zookeeper的经典使用场景 zookeeper是伴随着大数据、 分布式 领域的兴起。大数据中的一个非常重要的议题是如何使用众多廉价的机器来实现可靠存储。 所谓廉价的机器就是发生故障的概率非常大,但单台的成本也非常低,分
Kafka 迁移到 Raft 注意:本文档假设您对通道配置更新事务有很高的专业知识。由于迁移过程涉及多个通道配置更新事务,因此在未熟悉“ Add an Organization to a Channel”教程(该教程详细描述了通道更新过程)之前,不要尝试从 Kafka 迁移到 Raft 。 对于希望将channels从基于 Kafka 的转换为基于 Raft 的排序服务的用户,v1.4.2允许通过网络中每个通道上的...
共识 算法 区块链中最重要的便是 共识 算法 ,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理便的不怎么重要了,而今POS的变体DPOS(Delegated Proof of Stake,股份授权证明)进一步削减算力的浪费,同时也加强了区块链的安全性。 不过,对于不需要货币体系的许可链或者私有链而言,绝对信任的节点
在fabric1.4.1的版本中,提供了基于 Raft 共识 Raft 排序服务。 Raft 的模型可以容忍奔溃,如果有节点故障掉线可以正常运行。前提是要有大多数存活,也就是要保证1/2以上的节点个数正常运行。 Raft 共识 是“主从模型”,主节点通过动态选举决定,从节点是主节点的复制。 Raft 排序服务比 kafka 排序服务易于设置和管理。并且 Raft 的设计允许不同的组织贡献节点来共同组成排序服务。 Raft 算法 是一种为了管理复制日志的一致性 算法 。为了提升可理解性, Raft 将一致性 算法 分解成了几个关键模块,例如领导者选举
文章目录1. Kafka 集群选举的流程2. Kafka 集群选举的源码分析2.1 Kafka Raft Manager 的初始化准备2.2 Kafka Raft Manager 的启动运行2.3 集群选主的流程 1. Kafka 集群选举的流程 在 Kafka 3.0 源码笔记(1)- Kafka 服务端的网络通信架构 中笔者提到在 K Raft 模式下 Kafka 集群的元数据已经交由 Controller 集群自治,则在 分布式 环境下必然要涉及到集群节点的交互,包括集群选主、集群元数据同步等。其中 Kafka 集群