弹性的优秀实践
本主题概述了在 Oracle Blockchain Platform 的企业配置实例的单个虚拟机 (VM) 脱机进行维护或意外失败时保持持续运行的最佳实践。
- 单一创始人组织
- 具有一个或多个参与者组织的创始人
而是基于企业配置将实例用于生产环境。这些实例提供了对超级账本架构组件和更高容量配置的独立扩展。企业配置实例会自动在可用性域和容错域之间分配对等节点、排序节点和平台组件,从而提供基础设施级别的故障隔离。要利用此行为并确保高可用性,请使用以下各节中介绍的最佳实践。
背书策略
对于具有单个(创始人)组织的网络,请使用允许任何可用对等方对事务处理进行背书的背书策略,例如 OR('Founder.member') 或 OutOf(1, 'Founder.member')。为创始人组织部署至少两个对等节点。
对于具有创建者和一个参与者组织的网络,通常可以使用以下策略:OutOf(1, 'Founder.member', 'Participant1.member')。对于更严格的配置,仅当存在冗余时,才能使用 OutOf(2, 'Founder.member', 'Participant1.member')。除非两个组织都具有足够的对等冗余,否则应避免使用 AND('Founder.member', 'Participant1.member') 等严格策略。
有关详细信息,请参阅指定背书策略。
对等端部署
每个组织至少部署两个对等节点。Oracle Blockchain Platform 可自动在可用性域和容错域之间分配对等节点,以确保在 VM 发生故障后至少有一个对等节点保持可用。
隐私数据收集
如果使用专用数据收集,请将需要对等点值 (requiredPeerCount) 设置为一个或多个值,并在专用数据收集的定义中将最大对等点计数值 (maxPeerCount) 设置为两个或更多值。确保每个专用数据收集中至少有两个对等方,并且至少两个对等方提交专用数据。需要对等节点值是事务处理建议视为完成之前必须成功接收专用数据的最小对等节点数(不包括背书对等节点)。
对于跨组织的专用数据收集,请将所需的对等点计数配置为大于单个组织的对等点数,并确保在多个组织和 VM 之间分布。
有关详细信息,请参阅添加专用数据收集。
Raft 订购服务
使用默认的三节点 Raft 排序服务。Oracle Blockchain Platform 在可用性域和容错域之间分配排序者,从而允许排序服务处理单个节点故障。
锚点对等点
在具有多个组织的网络中,每个组织至少配置一个锚点对等点。为了提高弹性,请为每个组织配置至少两个锚点对等点。仅当网络中存在多个 Oracle Blockchain Platform 组织实例时,才需要锚点对等节点,因为它们可以在不同的组织中实现基于八卦的通信和对等节点发现。
有关更多信息,请参见 Add an Anchor Peer 。
链代码部署
为了确保对等节点不可用时的连续性,请在每个组织至少两个对等节点上安装并批准链代码。如果您的隐私要求允许,您可以在网络中的 Oracle Blockchain Platform 实例之间传播这些部署。
客户端连接
将客户机应用程序配置为从不锁定到特定对等方。而是允许底层客户机库处理对等选择。
回退状态数据库
状态数据库存储在每个对等点上,用于连接对等点的所有通道。如果 VM 发生故障,则在恢复对等点之前,该对等点上的本地状态数据库将不可用。Oracle Blockchain Platform 支持混合状态数据库模型,其中外部 Oracle Database 充当回退(辅助)状态数据库。启用回退状态数据库后,状态数据将保留在数据库中的对等 VM 外部,该数据库可以根据需要接管主状态数据库,从而提高持久性和恢复能力。
- 为生产工作负载或关键工作负载启用回退状态数据库
- 独立于对等 VM 部署 Oracle Database。
- 配置 Oracle Database 以实现高可用性。
有关更多信息,请参见 Create the Fallback State Database 。