管理排序服务
本主题包含有关创始人和参与者如何管理订购服务的信息。
什么是排序服务?
Oracle Blockchain Platform 支持 Raft 作为共识类型。
有关 Raft 协议的 Hyperledger Fabric 实现的更多信息,请参见: The Ordering Service - Raft 。
使用较旧的 Kafka 共识类型,整个网络最多可以具有两个排序节点,并且必须加入所有通道。在某些情况下,它们可能会超载,并且无法缩小。通过 Raft 共识类型,网络可以具有任意数量的排序节点,并且每个通道都可以定义自己的排序节点集。不同的渠道可以使用不同的排序节点,排序节点将不再是瓶颈。
但是,正确配置 Raft 共识类型可能很复杂。有关于什么可以或不能做什么的规则,如果这些规则没有遵循通道,甚至网络可能不起作用。以下准则应减少遇到的问题:
使大多数订购服务节点 (Ordering Service Nodes,OSN) 保持活动状态
- 如果有 50% 或更少的 OSN 在网络中工作,则网络管理将不再起作用。不能创建新通道,不能向网络中添加新的排序节点,不能从网络中删除排序节点,等等。
- 如果有 50% 或更少的 OSN 在应用程序通道中工作,则无法将任何事务处理提交到此应用程序通道。查询仍然可以正常运行,但是管理操作(例如添加新组织、更改访问控制列表、实例化或部署链代码)将失败。
将新 OSN 添加到网络或应用程序通道时要小心。确保所有者是可信的,OSN 是健壮的。
删除 OSN 或组织时,请确保超过 50% 的 OSN 将继续工作。例如,如果您有 2 个组织,每个组织具有 3 个 OSN,则删除一个组织时,在删除期间,该组织将被解释为只有 50% 的 OSN 正常运行。在删除无关组织之前,将 OSN 添加到其余组织,以确保始终超过 50% 的 OSN 工作。
不经常添加或删除排序者
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST
此操作可能会持续几分钟。如果您已从通道中删除了以前的 Raft 引导者 OSN,则这可能会持续 20 分钟。
确保您不经常添加或删除排序规则。如果必须添加或删除多个排序器,则一次执行一个操作,确保在进行下一次更改之前网络已恢复运行状态。
确保新排序器尽快启动
在网络中添加新的排序器时,通常会涉及两个组织:新排序器的创建者和所有者。双方都必须遵循加入参与者或横向扩展 OSN 到创始人的订购服务中的说明才能完成,否则创始人将无法管理网络。
加入参与方或扩展 OSN 到创始人的订购服务
预配参与者实例时,将使用 3 个排序器创建该实例。那里的刽子手是无效的,直到他们加入一个网络。当您扩展创始人时,新的排序者也处于不活动状态,直到他们加入网络。
如果必须添加或删除多个排序器,则一次执行一个操作,确保在进行下一次更改之前网络已恢复运行状态。有关添加、删除、启动和停止 Raft 排序器的其他重要详细信息,请参阅什么是排序服务?。
从参与者或分级排序器导出 OSN 设置
要将参与者或扩展的排序器加入网络,您需要导出其设置并将其导入到创建者中。
-
在参与者控制台(或扩展排序器的创建者控制台)中,在节点选项卡上查找排序器节点(或存在多个节点的第一个排序器节点)。选择此节点的“操作”菜单,然后选择导出 OSN 设置。
这将生成具有设置的 JSON 文件并保存该文件。该文件包含组织的证书和所选排序器服务节点 (OSN) 设置,这些设置由参与者组织的管理员的私钥签名。需要将此文件发送给创建者实例的管理员。
使用此 OSN 在通道上运行的应用程序还需要此导出的 TLS 证书。请参阅开发应用程序之前。
-
在创建者控制台中,打开 Network(网络)选项卡。单击添加 OSN 。此时将打开一个窗口,提示您输入参与者提供的 JSON 文件的位置。选择此项可上载文件,然后单击添加。
参与者组织或新扩展的排序器将添加到系统渠道列表的排序器组织部分。
导出建立者的配置设置
一旦将参与者或缩放的排序器添加到创建者,您需要导出创始人的设置并将其导入到参与者或缩放排序器。
-
在创建者控制台中,打开 Network(网络)选项卡。单击 Export Network Config Block 。
网络配置块包含最新的系统通道配置块。这可以保存并发送给参与者管理员。
-
在参与者控制台(或扩展排序器的创建者控制台)中,在节点选项卡上查找排序器节点(或存在多个节点的第一个排序器节点)。选择此节点的“操作”菜单,然后选择导入网络配置块。
系统将提示您输入创建者实例管理员发送的文件。
-
在参与者控制台中,刷新 Node(节点)选项卡。排序节点状态应列为 "down"。从“操作”菜单中选择启动。
启动的每个排序节点都将添加到创建者的 Raft 集群中。
注意:
不能在单个批处理中将多个 OSN 添加到网络中。确保一次仅添加 1 个 OSN。编辑网络的订购服务设置
您可以更新创建者实例的排序服务设置。
- 更新后的设置在创建新通道时使用,不会应用于现有通道。
- 另外,您可以更新单个现有渠道的订购服务设置,如编辑渠道的订购服务设置中所述。
- 如果您更改了排序服务设置,并且有针对网络运行的应用程序,则必须手动更新这些应用程序以使用修订后的排序服务设置。
- 这并不常见,但在某些情况下,您可能会向某些网络参与者公开不同的排序服务。在这种情况下,您将导出更新的网络配置块,所需的参与者将导入修订的设置。请参见 Join the Participant or Scaled-Out OSNs to the Founder's Ordering Service 。
查看订购服务设置
您可以查看导入参与者的 Oracle Blockchain Platform 实例的创始人的订购服务设置。