cluster-computing - Corda 4.0 - 集群中的 Notary 以实现高可用性

标签 cluster-computing rpc corda

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

我的解决方案有一个带有 2 个公证人的 Raft 集群来测试 HA。我还使用观察者(在公证人节点中)实现了一个解决方案,因此公证人将所有交易记录在他的保险库中。

当我发送了几笔交易时,行为并不像预期的那样:一些交易记录在公证集群 1 中,而另一笔交易记录在公证集群 2 中。

好吗?我希望所有交易都保存在两个公证集群中,否则 Corda 如何解决 HA?

谢谢

最佳答案

我们在 Corda 实时支持 [1] 上提出了这个问题,我们得到了答案:

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

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

  • https://www.corda.net/participate/community.html
  • https://docs.corda.r3.com/hot-cold-deployment.html#configuring-the-load-balancer
  • 关于cluster-computing - Corda 4.0 - 集群中的 Notary 以实现高可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56223831/

    相关文章:

    corda - 在同一个 Corda 流程中创建多个交易有什么风险?

    Hadoop:哪个映射器返回了哪个结果?

    多机上的Elasticsearch集群-master选举

    cluster-computing - 网络故障后 RabbitMQ 集群未重新连接

    xml - SOAP RPC/编码转换为 RPC/文字

    gradle - Corda Build错误-无法应用插件[id 'net.corda.plugins.cordformation']

    python - 在二维可视化簇时,轴上的数字意味着什么?

    c - 无法使用 libtirpc 构建 RPC 项目

    json - 我的 RCP 客户端未返回对象的深拷贝

    corda - 使用英特尔 SGX 的交易解决方案