Hyperledger Fabric 应用实战(3)--配置文件core.yaml

1. 简介

core.yaml主要是为Peer服务提供一些配置定义,当Peer节点启动时,会先从命令行获取参数、环境变量、和core.yaml读取配置信息。通过docker去搭建一个Peer服务,命令行默认是不带参数的,主要通过docker-compose 文件和core.yaml 去定义配置信息。docker-compose相当于环境变量,其优先级比较高,用来更灵活和个性化配置Peer服务的配置,因此在编写docker-compose前需要完整学习core.yaml,推荐去GitHub fabric项目下的sampleconfig文件夹下去下载配置文件模板。注意版本,例如:搭建v2.4.5版本fabric就需要切换到v2.4.5分支去下载。

2. 官方core.yaml学习

core.yaml主要包括peer、vm、chaincode、ledger、operation、metrics六大部分。

2.1 peer部分

peer部分保护与服务直接相关的核心配置

peer:
    # peer在网络中的辨识信息,一般都需要在docker-compose中重新定义:
    # 例如: - CORE_PEER_ID=peer0.agencyorg.freehome.cn
    id: jdoe 
    # 指定网络ID
    networkId: dev
    # peer节点服务的端口号
    listenAddress: 0.0.0.0:7051
    # 链码容器连接时的监听地址
    chaincodeListenAddress: 0.0.0.0:7052
    # 此peer的链码端点用于连接到peer。如果没有指定,则选择chaincodeListenAddress地址。
    # 如果未指定chaincodeListenAddress,则选择(如下所示)peer地址
    # 如果指定的peer地址无效,则无论peer地址自动检测值如何,它都将返回到自动检测的IP(本地IP)。
    chaincodeAddress: 0.0.0.0:7052
    # 表示同组织内作为联系其他节点的端点。
    # 关于联系其他组织的peer节点,详情请看gossip中externalEndpoint。就是定义锚节点
    # 当用作CLI配置时,也是和客户端交互的端点。
    address: 0.0.0.0:7051
    # peer节点是否通过编程的方式自动探测对外服务绑定的地址。这种情况对于docker容器非常有用
    # 设置为true时,将覆盖peer地址
    addressAutoDetect: false

    # peer节点的 gateway网关 服务设置(2.4新增内容).
    gateway:
        # 是否对该peer启用网关
        enabled: true
        # 网关在向客户端返回超时错误之前等待其他背书对等方响应的时间。
        endorsementTimeout: 30s
        # 网关等待连接到其他网络节点的持续时间。
        dialTimeout: 2m


    # peer服务器和客户端的keepalive设置
    keepalive:
        # Interval是一个持续时间,如果服务器没有看到来自客户端的任何活动
        # 则会ping客户端以查看其是否处于活动状态
        interval: 7200s
        # 等待响应超时时间
        timeout: 20s
        # MinInterval是服务器和客户端ping之间允许的最小时间。
        # 如果客户端频繁地发送ping,对等服务器将断开它们的连接
        minInterval: 60s
        # 作为CLI客户端时的相关配置
        client:
            # cli ping peer 的时间间隔设定.这必须大于或等于对等节点指定的最小间隔
            interval: 60s
            # 连接超时时间
            timeout: 20s
        #DeliveryClient保持与orderer节点通信的设置
        deliveryClient:
            interval: 60s
            # 连接orderer超时时间
            timeout: 20s


    # Gossip 相关配置
    gossip:  # 八卦协议
        # 节点启动后默认连接的初始节点
        # 是该peer节点在启动时可以联系到的其他peer节点的列表
        # 注意:这里的端点必须是同一组织中的对等方的端点,不是同一个组织会被拒绝。
        bootstrap: 127.0.0.1:7051
        # 注意:orgLeader和useLeaderElection参数是互斥的。
        # 如果对等体配置为useLeaderElection=false,请确保组织中至少有一个peer的orgLeader设置为true
        # 是否选用动态算法来动态选举leader
        # 其中leader是与orderer服务建立连接的peer,并使用交付协议从orderer服务中获取block
        # peer节点的领导节点
        useLeaderElection: false
        # 静态地将该peer定义为组织领导节点,这意味着当前peer将保持与orderer服务的连接,
        # 并在其自身组织中的peer之间传播块。
        orgLeader: true
        # 成员跟踪轮询的间隔
        membershipTrackerInterval: 5s
        # 对于其他组织中的peer观察到该peer的端点
        # 请参见“externalEndpoint”
        endpoint:
        # 内存中存储的最大块数 
        maxBlockCountToStore: 10
        # 连续消息推送之间的最大时间(单位:毫秒)超过则触发,转发给其它节点
        maxPropagationBurstLatency: 10ms
         # 能缓存的最大消息数量,若超过则推送消息给其他peer节点
        maxPropagationBurstSize: 10
        # 将消息推送到远程peer节点的次数
        propagateIterations: 1
        # 选择将消息推送到的peer节点的数量
        propagatePeerNum: 3
        # 拉取消息的时间间隔(单位:秒)
        # 必须大于 digestWaitTime + responseWaitTim
        pullInterval: 4s
        # 拉取消息的peer节点数量
        pullPeerNum: 3
        # Peer节点拉取状态信息消息的周期
        requestStateInfoInterval: 4s
        # 将状态信息消息推送到peer节点的周期
        publishStateInfoInterval: 4s
        # 状态信息消息可以保存直到过期的超时时间
        stateInfoRetentionInterval:
        # Alive messages包含启动证书的时间
        publishCertPeriod: 10s
        # 是否应该跳过验证区块信息
        skipBlockVerification: false
         # gRPC连接拨号的超时时间
        dialTimeout: 3s
        # 建立连接超时时间
        connTimeout: 2s
         # 接收消息的缓冲区大小
        recvBuffSize: 20
         # 发送消息的缓冲区大小
        sendBuffSize: 200
        # 处理摘要信息前的等待时间(单位:秒)应略小于requestWaitTime
        digestWaitTime: 1s
        # 处理移除nonce数据之前等待的时间(单位:毫秒)应略大于digestWaitTime
        requestWaitTime: 1500ms
        # 结束拉取数据处理前的等待时间
        responseWaitTime: 2s
         # 心跳检查间隔时间
        aliveTimeInterval: 5s
        # 心跳消息的超时时间 
        aliveExpirationTimeout: 25s
         # 重新连接的间隔时间
        reconnectInterval: 25s
        # 尝试连接到peer的最大次数
        maxConnectionAttempts: 120
        #活动消息的消息过期因子 算法一些参数
        msgExpirationFactor: 20
        # 这是发布给组织外部外的peer端口
        # 如果未设置,则其他组织不会知道同伴,也不会通过服务发现暴露  
        externalEndpoint:
        # Leader election service configuration
         # Leader主节点选举模块配置
        election:  
            # 领导者选择启动期间peer等待的时间
            startupGracePeriod: 15s
            # gossip成员关系采样的时间间隔用于检查稳定性
            membershipSampleInterva
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值