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类*…...
DeepPurpose 生物化学深度学习库;蛋白靶点小分子药物对接亲和力预测虚拟筛选
参考: https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/107649770 https://github.com/kexinhuang12345/DeepPurpose ##安装 pip install DeepPurpose rdkitDeepPurpose包括: 数据: 关联TDC库下载,是同一作者开发的 https://blog.csdn.net/weixin_42357472/artic…...
Java实现责任链模式
责任链模式是一种设计模式,用于处理请求的解耦。在责任链模式中,多个对象都有机会处理请求,从而避免了请求发送者和接收者之间的直接依赖关系。每个处理者都可以决定是否处理请求以及将请求传递给下一个处理者。 简介 责任链模式由一条链组…...
rabbitmq延时队列相关配置
确保 RabbitMQ 的延时消息插件已经安装和启用。你可以通过执行以下命令来安装该插件: rabbitmq-plugins enable rabbitmq_delayed_message_exchange 如果提示未安装,以下是安装流程: 查看mq版本: 查看自己使用的 MQ(…...
【工具】推荐一个好用的代码画图工具
PlantUML 官网地址:https://plantuml.com/zh/ 跳转 支持各种结构化数据画图支持代码调用jar包生成图片 提供在线画图能力 https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000 有兴趣可以尝试下 over~~...
Leetcode14-判断句子是否为全字母句(1832)
1、题目 全字母句 指包含英语字母表中每个字母至少一次的句子。 给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。 如果是,返回 true ;否则,返回 false 。 示例 1: 输入&am…...
HTTP和TCP代理原理及实现,主要是理解
Web 代理是一种存在于网络中间的实体,提供各式各样的功能。现代网络系统中,Web 代理无处不在。我之前有关 HTTP 的博文中,多次提到了代理对 HTTP 请求及响应的影响。今天这篇文章,我打算谈谈 HTTP 代理本身的一些原理,…...
MySQL中的连接池
数据库的连接池 1 )概述 网站连接数据库,为庞大用户的每次请求创建一个连接是不合适的关闭并重新连接的成本是很大的处理方法:设置最大值, 最小值, 设置最多闲置连接,设置等待阻塞 2 )示例演示 import threading i…...
css计时器 animation实现计时器延时器
css计时器 animation实现计时器延时器 缺点当切页面导航会休眠不执行 最初需求是一个列表每个项目都有各自的失效时间 然后就想到 计时器延时器轮询等方案 这些方案每一个都要有自己的计时器 感觉不是很好 轮询也占资源 然后突发奇想 css能不能实现 开始想到的是transition测…...
【win11 绕过TPM CPU硬件限制安装】
Qt编程指南 VX:hao541022348 ■ 下载iso文件■ 右键文件点击装载出现如下问题■ 绕过TPM CPU硬件限制安装方法■ 虚拟机安装win11 ■ 下载iso文件 选择Windows11 (multi-edition ISO)在选择中文 ■ 右键文件点击装载出现如下问题 ■ 绕过T…...
k8s的yaml文件中的kind类型都有哪些?(清单版本)
在操作kubernetes的过程中,我们接触到的yaml文件中的kind类型有很多。他们代表了kubernetes的不同类型的对象,了解了kind的类型,也就相当于了解了k8s都有哪些类型的对象。 类型清单及概要说明 序号类型简述1Pod一个Kubernetes中最基本的资源…...
江西省大余县建设局网站/结构优化是什么意思
浏览器首先按顺序加载由<script>标签分割的js代码块,加载js代码块完毕后,立刻进入以下三个阶段,然后再按顺序查找下一个代码块,再继续执行以下三个阶段,无论是外部脚本文件(不异步加载)还…...
响应式网站公司/网站运营和维护
参考文献:http://linux.vbird.org/linux_server/0350dns.php 文章目录1. DNS解析过程1.1 DNS解析过程中两种模式2.DNS服务器类型3.DNS服务器安装配置3.DNS服务器配置3.1相关配置文件3.2 /etc/hosts:全局本地域名解析配置3.3 /etc/resolv.conf 配置文件3.…...
互动营销型网站建设/电商线上推广渠道
HashMap中阈值的设计1.HashMap的长度为什么必须是2的次幂?2.加载因子为什么是0.75?3.处理冲突的几种方法4.equals()和hashCode()在HashMap中的重要性1.HashMap的长度为什么必须是2的次幂? 为了实现一个尽量分布均匀的hash函数,利…...
做网站的用什么电脑好/万网注册域名查询
把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类(嵌套类),包含内部类的类也被称为外部类(宿主类) package com.hb;public class Cow {private double weight;public Cow(){}public…...
wordpress交流插件/易观数据app排行
MySql配置优化MySql对内存的使用MySql内存配置位物理内存的70%左右 大部分情况下使用innodb作为表存储引擎 以下参数配置在my.cnf中 1. innodb的缓冲池配置 innodb_buffer_pool_size一般配置服务器总内存的60~70% 2. innodb log 日志缓存配置innodb_log_buffer_size 这个不宜…...
可以做ppt的网站有哪些方面/公司主页网站设计
你的得分:100.0完成日期:2014年05月23日17点13分说明:每道小题括号里的答案是您最高分那次所选的答案,标准答案将在本次作业结束(即2014年09月11日)后显示在题目旁边。一、单项选择题。本大题共50个小题,每小题2.0 分&…...