cluster-computing - Corda 4.0 - 集群中的 Notary 以实现高可用性
问题描述
我正在尝试在 Corda V4.0 中开发应用程序,并且我们正在使用客户端 RPC API 进行测试(使用 DriverDSL)。
我的解决方案有一个带有 2 个公证人的 Raft 集群来测试 HA。我还使用观察者(在公证人节点中)实施了一个解决方案,因此公证人将所有交易记录在他的保险库中。
当我发送了几笔交易时,行为并不像预期的那样:一些交易记录在公证集群 1 中,而另一笔交易记录在公证集群 2 中。
好吗?我希望所有交易都保存在两个公证集群中,否则 Corda 如何解决 HA?
谢谢
解决方案
我们在 Corda 实时支持 [1] 上提出了这个问题,我们得到了答案:
这种行为是 Corda 所期望的。在 Notary 集群中复制的唯一数据是公证所需的。此内置集群支持不适用于 HA。为了实现 HA,他们建议我们使用负载均衡器,并且我们有两个或更多节点将负载均衡器的 IP 作为公共 IP 发布。两个节点都应该使用相同的数据库(可能是 Postgres)。
总之,HA 应该在 Corda 之外解决。他们还建议我们查看 Corda Enteprise [2] 中“热冷高可用性部署”的文档,特别是负载均衡器配置部分。
推荐阅读
- url - 我需要从每小时更新的 jpg 下载数据
- restsharp - REstSharp 良好实践
- gtk - 在树莓派上使用 gtk
- python - How to print '\n' in argv in python
- r - 如何重新编码我的折线图并突出显示日期
- tensorflow - Tensorflow NN:自定义损失和准确性工作,MSE 返回 NaN
- javascript - Laravel:从本地存储中获取 id
- java - 使用 Apache Curator 的分布式锁与 Redis 中的写入保持一致
- proxy - 碘非常慢
- ios - 尝试为自定义 AlertControlView 设置委托