【问题标题】:Is the data strongly consistent among the Hazelcast nodes in different Kubernetes clusters?不同 Kubernetes 集群中的 Hazelcast 节点之间的数据是否强一致?
【发布时间】:2021-07-05 06:26:32
【问题描述】:

背景: 我们的项目需要将余额信息存储在 KV 存储中。 KV 存储需要跨 DC(不同 Kubernetes 集群)的强数据一致性,因为我们的目标是跨 3 个 DC(不同 Kubernetes 集群)部署 KV 存储以实现高可用性。

我们的设计: 将 HazelCast 3 个节点部署到 3 个不同 DC 中的 3 个不同 Kubernetes 集群/docker。 这意味着每个 DC 有 1 个 Kubernetes 集群,Hazelcast 节点部署到集群的 docker 上。所以总共 3 个 HazelCast 节点组成一个集群。

我们的问题:

  1. 这 3 个 HazelCast 节点可以组成一个集群吗?众所周知,它们仅通过 TCP 进行通信。但是跨不同 Kubernetes/命名空间的通信需要通过 Ingress,即 HTTP。
  2. HazelCast 能否将数据持久化到 Kubernetes PVC(PersistentVolumeClaim)?
  3. 3 个 Hazelcast 节点之间的数据是否高度一致?是基于 Raft 的吗?

【问题讨论】:

  • Stackoverflow 建议在一篇文章中提出一个问题。请考虑为每个帖子创建新帖子。您可以通过添加引用来链接它们。

标签: kubernetes hazelcast key-value-store


【解决方案1】:
  1. 您可能不希望跨不同的 Kubernetes 集群形成 Hazelcast 集群,因为从网络角度来看,它的性能不会很好。你需要检查WAN Replication
  2. Hazelcast 将数据存储在内存中而不是磁盘上。
  3. Hazelcast CP subsystem 实现了 Raft。 CP 子系统并不支持所有数据结构,但既然您提到了 KV 存储 - IMap 是。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2018-10-26
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多