Cluster computing Corda 4.0-群集中的公证人以实现高可用性

Cluster computing Corda 4.0-群集中的公证人以实现高可用性,cluster-computing,rpc,corda,Cluster Computing,Rpc,Corda,我正在尝试在Corda V4.0中开发一个应用程序,我们正在使用客户端RPC API进行测试(使用DriverDSL) 我的解决方案有一个Raft集群,有2个公证人来测试HA。我还使用观察员(在公证人节点中)实现了一个解决方案,以便公证人将所有交易记录在其vault中 当我发送两个事务时,行为与预期不符:一些事务记录在公证人集群1中,另一个事务记录在公证人集群2中 可以吗?我希望所有事务都保存在两个公证人集群中,否则Corda如何解决HA 谢谢我们在Corda live support[1]上提

我正在尝试在Corda V4.0中开发一个应用程序,我们正在使用客户端RPC API进行测试(使用DriverDSL)

我的解决方案有一个Raft集群,有2个公证人来测试HA。我还使用观察员(在公证人节点中)实现了一个解决方案,以便公证人将所有交易记录在其vault中

当我发送两个事务时,行为与预期不符:一些事务记录在公证人集群1中,另一个事务记录在公证人集群2中

可以吗?我希望所有事务都保存在两个公证人集群中,否则Corda如何解决HA


谢谢

我们在Corda live support[1]上提出了这个问题,我们得到了答案:

这种行为是科尔达所期望的。公证集群中复制的唯一数据是公证所需的数据。这种内置集群支持并不适用于HA。 为了实现HA,他们建议我们使用负载均衡器,并且我们有两个或多个节点作为公共IP(负载平衡器的IP)发布。两个节点应该使用相同的数据库(Postgres可能)

总之,HA应在Corda之外解决。 他们还建议我们查看Corda Enterprise[2]中关于“冷热高可用性部署”的文档,特别是关于负载平衡器配置的部分


  • 嘿-vrmouro,我想你是在使用RAFT公证人集群配置吗?这可能是在幕后处理的-我会做一些挖掘。同时,您是否能够尝试模拟许多双倍支出?如果其中一个通过,我们将得到答案。嗨,我是@vrmouro workmate。我们正在使用build.gradle中的
    deployNodes
    任务中的公证人节点的
    RAFT
    选项配置RAFT集群。为了澄清这个问题,我们正在使用该公证人作为参与者的事务进行一些测试,并且我们观察到一些状态存储在集群的一个节点中,而另一些状态存储在另一个节点中。我们希望在两个节点之间复制数据。非常感谢Nicholas的回答!正如我的同事所说。在我们的测试中,我们有HA以避免重复使用,但没有集群的两个公证节点中的所有状态。如果你需要更多信息,请告诉我。