Hyperledger Fabric Orderer 配置解析
文中使用的 fabric 版本为 2.4.1
排序节点在 Fabric 网络中为 Peer 提供排序服务。与 Peer 节点类似,排序节点支持从命令行参数、环境变量或配置文件中读取配置信息。环境变量中配置需要以 ORDERER_前缀开头,例如,配置文件中的 general.ListenAddress 项,对应到环境变量 ORDERER_GENERAL_LISTENADDRESS。
排序节点默认的配置文件读取路径为 $FABRIC_CFG_PATH 中定义的路径;如果没找到,则尝试查找当前目录;如果还没有找到,则尝试查找默认的 /etc/hyperledger/fabric 路径。
在结构上,orderer.yaml 文件中一般包括 General 、FileLedger 、RAMLedger 、Kafka 、Debug 、Operations 、Metrics 和 Consensus 八大部分.
General 部分
这一部分主要是一些通用配置,如账本类型、服务信息、配置路径等。这些配置影响到服务的主要功能,十分重要.
| 配置项 | 作用 | 默认值 |
|---|---|---|
| ListenAddress | 服务绑定的监听地址,一般需要指定为所服务的特定网络接口的地址或全网(0.0.0.0) | 127.0.0.1 |
| ListenPort | 服务绑定的监听端口 | 7050 |
| TLS.Enabled | 启用 TLS 时的相关配置 | false |
| TLS.PrivateKey | Orderer 签名私钥 | tls/server.key |
| TLS.Certificate | Orderer 身份证书 | tls/server.crt |
| TLS.RootCAs | 信任的根证书 | tls/ca.crt |
| TLS.ClientAuthRequired | 是否对客户端也进行认证 | false |
| TLS.ClientRootCAs | 信任的客户端根证书列表 | N/A |
| Keepalive.ServerMinInterval | 允许其他客户端 ping 消息的最小间隔,超时则断开连接 | 60s |
| Keepalive.ServerInterval | 到客户端的 ping 消息的间隔 | 7200s |
| Keepalive.ServerTimeout | 关闭连接前等待响应的时间 | 20s |
| MaxRecvMsgSize | GRPC 服务器和客户端可以接收的最大消息大小 (以字节为单位) | 104857600 |
| MaxSendMsgSize | GRPC 服务器和客户端可以发送的最大消息大小 (以字节为单位) | 104857600 |
| Cluster | raft 模式下的集群配置 | N/A |
| Cluster.SendBufferSize | 发送缓冲区的最大长度 | 10 |
| Cluster.ClientCertificate | 双向 TLS 认证时,作为客户端证书的文件路径,如果没设置会使用 TLS.Certificate | N/A |
| Cluster.ClientPrivateKey | 双向 TLS 认证时,作为客户端私钥的文件路径,如果没设置会使用 TLS.PrivateKey | N/A |
| Cluster.ListenPort | 监听端口默认使用 gRPC 相同的端口 | N/A |
| Cluster.ListenAddress | 监听地址默认使用 gRPC 相同的地址 | N/A |
| Cluster.ServerCertificate | 双向 TLS 认证时,作为服务端证书的文件路径 | N/A |
| Cluster.ServerPrivateKey | 双向 TLS 认证时,作为服务端私钥的文件路径 | N/A |
| BootstrapMethod | 获取引导块的方法,2.x 版本中仅支持 file 或 none | file |
| BootstrapFile | 系统通道初始区块或最新配置区块文件路径 | N/A |
| LocalMSPDir | 本地 MSP 文件路径 | msp |
| LocalMSPID | MSP ID | SampleOrg |
| Profile | 是否启用 Go profiling , 开启会影响性能 | N/A |
| BCCSP | 密码库机制等,可以为 SW(软件实现)或 PKCS11 (硬件安全模块) | SW |
| Authentication.TimeWindow | 如果客户端和服务端时钟差异超过窗口指定值,则拒绝消息 | 15m |
FileLedger 部分
| 配置项 | 作用 | 默认值 |
|---|---|---|
| Location | 指定存放区块文件的位置,一般为 /var/hyperledger/production/orderer。该目录下面包括 chains 子目录,存放各个 chain 的区块;index 目录,存放索引文件 | /var/hyperledger/production/orderer |
Kafka 部分
因为不推荐使用了,暂时不关注
Debug 部分
Debug 部分主要用于对排序节点进行调试和差错时的追踪配置。
| 配置项 | 作用 | 默认值 |
|---|---|---|
| BroadcastTraceDir | 广播请求的追踪路径 | N/A |
| DeliverTraceDir | 交付请求的追踪路径 | N/A |
Operations 部分
Operations 部分与 Peer 相关配置类似,主要设置运行时对外的 RESTful 管理服务,包括监听的地址和 TLS 安全配置.
| 配置项 | 作用 | 默认值 |
|---|---|---|
| ListenAddress | RESTful 管理服务的监听地址 | 127.0.0.1:8443 |
| TLS.Enabled | 是否启用 TLS 保护 | false |
| TLS.Certificate | 服务端使用证书文件路径 | N/A |
| TLS.PrivateKey | 服务端使用私钥文件路径 | N/A |
| TLS.ClientAuthRequired | 是否开启客户端验证以限定访问的客户端,默认关闭,推荐开启 | false |
| TLS.ClientRootCAs | 开启客户端验证时,信任的客户端根证书路径列表 | [] |
Metrics 部分
Metrics 部分与 Peer 相关配置类似,负责配置统计服务
| 配置项 | 作用 | 默认值 |
|---|---|---|
| provider | 统计服务类型,可以为 statsd (推送模式),prometheus (拉取模式),disabled | disabled |
| statsd.network | 网络协议类型,tcp 或 udp | udp |
| statsd.address | 修改为外部 statsd 的服务地址 | 127.0.0.1:8125 |
| statsd.writeInterval | 推送统计汇报到 statsd 的时间间隔 | 10s |
| statsd.prefix | 为所有统计推送添加前缀 | N/A |
注意
statsd和prometheus都是流行的开源监控数据收集软件。
Consensus 部分
共识为 Raft 模式时的日志存储配置
| 配置项 | 作用 | 默认值 |
|---|---|---|
| WALDir | 预写日志的存储位置,每个通道独占一个同名的子目录 | /var/hyperledger/production/orderer/etcdraft/wal |
| SnapDir | 快照文件的存储位置,每个通道独占一个同名的子目录 | /var/hyperledger/production/orderer/etcdraft/snapshot |
| EvictionSuspicion | 节点怀疑被从通道移除,触发从其他节点获取区块来确认的等待时间。隐藏参数 | 10m |
statsdhyperledgerfabricgrpc
© 著作权归作者所有
相关文章:
Hyperledger Fabric Orderer 配置解析
文中使用的 fabric 版本为 2.4.1 排序节点在 Fabric 网络中为 Peer 提供排序服务。与 Peer 节点类似,排序节点支持从命令行参数、环境变量或配置文件中读取配置信息。环境变量中配置需要以 ORDERER_前缀开头,例如,配置文件中的 general.Liste…...
苹果电脑交互式原型设计软件Axure RP 9 mac特色介绍
Axure RP 9 for Mac是一款交互式原型设计软件,使用axure rp9以最佳的方式展示您的作品,优化现代浏览器并为现代工作流程设计。同时确保您的解决方案正确完整地构建。Axure RP 9 for Mac为您整理笔记,将其分配给UI元素,并合并屏幕注…...
Java 判断实体类对象的全部属性是否空
public boolean checkObjAllFieldsIsNull(Object object) {// 如果对象为null直接返回trueif (null object) {return true;}try {// 挨个获取对象属性值for (Field f : object.getClass().getDeclaredFields()) {f.setAccessible(true);// 如果有一个属性值不为null࿰…...
Vue3-44-Pinia- 安装步骤
介绍 本文介绍 在 vue3 中 安装 Pinia 的步骤 安装步骤 1、npm 安装 npm install pinia》 安装完成后可以看到 package.json 中添加了 pinia 的依赖信息 2、main.ts 中配置 // 引入 vue实例创建方法 import { createApp } from vue// 引入pinia import { createPinia } fro…...
L1-005 考试座位号(Java)
题目 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换…...
HDFS概述
文章目录 HDFS背景定义HDFS 优缺点HDFS 组成HDFS文件块大小 HDFS背景定义 背景 先给大家介绍一下什么叫HDFS,我们生活在信息爆炸的时代,随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁…...
Hive 的 安装与部署
目录 1 安装 MySql2 安装 Hive3 Hive 元数据配置到 MySql4 启动 Hive Hive 官网 1 安装 MySql 为什么需要安装 MySql? 原因在于Hive 默认使用的元数据库为 derby,开启 Hive 之后就会占用元数据库,且不与其他客户端共享数据,如果想多窗口操作…...
【HBase】——优化
1 RowKey设计 重要:一条数据的唯一标识就是 rowkey,那么这条数据存储于哪个分区,取决于 rowkey 处于 哪个一个预分区的区间内,设计 rowkey的主要目的 ,就是让数据均匀的分布于所有的 region 中,在一定程度…...
什么是跨域以及怎么处理跨域问题
文章目录 什么是跨域?跨域问题常见场景怎么处理跨域1、配置代理2、CORS(跨域资源共享)3、JSONP(仅限 GET 请求)4、使用 WebSocket 注意事项: 什么是跨域? 跨域(Cross-Origin&#x…...
【Linux Shell】11. 输入/输出 重定向
文章目录 【 1. 重定向简介 】【 2. 输出重定向 】【 3. 输入重定向 】【 4. Here Document 】【 5. /dev/null 文件 】 【 1. 重定向简介 】 大多数 UNIX 系统命令从终端接受输入并将所产生的输出发送回到原来输入的终端。一个命令通常从标准输入的地方读取输入ÿ…...
数据库-简单表的操作And查看表的结构
查看表的结构 desc 表名;mysql> use study; Database changed mysql> create table Class(class_id int ,class_name varchar(128),class_teachar varchar(64)) ; Query OK, 0 rows affected (0.06 sec) mysql> show tables; ----------------- | Tables_in_study…...
<设计模式修炼>模板方法模式的使用场景和注意事项学习
介绍 模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 2) 简单说ÿ…...
android 分享文件
1.在AndroidManifest.xml 中配置 FileProvider <providerandroid:name"android.support.v4.content.FileProvider"android:authorities"com.example.caliv.ffyy.fileProvider"android:exported"false"android:grantUriPermissions"true…...
UE5 C++(十一)— 碰撞检测
文章目录 代理绑定BeginOverlap和EndOverlapHit事件的代理绑定碰撞设置 代理绑定BeginOverlap和EndOverlap 首先,创建自定义ActorC类 MyCustomActor 添加碰撞组件 #include "Components/BoxComponent.h"public:UPROPERTY(VisibleAnywhere, BlueprintRea…...
时序数据库InfluxDB、TimeScaleDB简介
一、时序数据库作用、优点 1、作用: 时序数据库通常被用在监控场景,比如运维和 IOT(物联网)领域。这类数据库旨在存储时序数据并实时处理它们。 比如。我们可以写一个程序将服务器上 CPU 的使用情况每隔 10 秒钟向 InfluxDB 中…...
复试 || 就业day05(2024.01.08)项目一
文章目录 前言代码模拟梯度下降构建函数与导函数函数的可视化求这个方程的最小值(直接求导)求方程最小值(不令方程导为0)【梯度下降】eta0.1eta 0.2eta 50eta 0.01画出eta0.1时的梯度下降x的变化过程 总结 前言 💫你…...
基于商品列表的拖拽排序后端实现
目录 一:实现思路 二:实现步骤 二:实现代码 三:注意点 一:实现思路 后台实现拖拽排序通常需要与前端进行配合,对商品的列表拖拽排序,前端需要告诉后端拖拽的元素和拖动的位置。 这里我们假…...
小游戏实战丨基于PyGame的贪吃蛇小游戏
文章目录 写在前面PyGame贪吃蛇注意事项系列文章写在后面 写在前面 本期内容:基于pygame的贪吃蛇小游戏 下载地址:https://download.csdn.net/download/m0_68111267/88700188 实验环境 python3.11及以上pycharmpygame 安装pygame的命令:…...
AOP(面向切面编程)基于XML方式配置
概念解释:(理解基本概念方可快速入手) 连接点(joinpoint) 被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法。 切入点(pointcut&#x…...
多线程的概念
多线程 同时执行多个任务,例如一个人一边听歌,一边跳舞 继承Thread类实现多线程的方式 定义一个MyThread类继承Thread类,重写里面的run方法 package com.itxs.demo01;/*** Classname : MyThread* Description : TODO 自定义线程继承Thread类*…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
