Fabric中Anchor Peer的用法
Fabric中,每个组织可以指定Anchor Peer,其他组织的节点就可以将Gossip消息发送到这个Anchor Peer上,进而Anchor Peer将获得整个网络信息,区块广播到本组织内。
在指定Anchor Peer时,节点自己首先需要配置gossip.externalEndpoint,默认为空,其他节点在发送消息到非本组织节点时,如果目的节点externalEndpoint为空则不会发送;然后在创建Channel时指定Anchor peer,对Fabric 1.0.x,创建Channel时指定的Anchor Peer并不会生效(根本不会读取Anchor Peer的配置),需要在channel 创建后更新Anchor Peer配置。
节点收到配置更新消息后,会更新Anchor Peer信息,其实就是尝试和Anchor Peer建立通信,发送Membership request信息获取对段网络成员信息用于更新本地的网络成员信息。
节点在发送Gossip消息时,会从本地网络成员中随机选取目的节点,根据Gossip消息的性质,譬如有些要求本组织,有些要求时本Channel等来发送,对于非本组织的消息,则只发送到Anchor peer节点。
参考:
https://github.com/hyperledger/fabric/gossip