Background: There is a need in our project to store the balance info in a KV store. The KV store need strongly data consistence across DCs(different Kubernetes clusters), because we target to deploy the KV store across 3 DCs(different Kubernetes clusters) for high availability.
Our design: Deploy HazelCast 3 nodes to 3 different Kubernetes clusters/dockers in 3 different DCs. It means each DC has 1 Kubernetes cluster, the Hazelcast node is deployed to the docker of the cluster. So total 3 HazelCast nodes to form a cluster.
Our questions: 1. Are those 3 HazelCast nodes able to form a cluster? As we know, they communicate through TCP only. But communicate across different Kubernetes/namespace need to go through Ingress which is HTTP. 2. Is HazelCast able to persist data to the Kubernetes PVC(PersistentVolumeClaim)? 3. Is the data strongly consistent among the 3 Hazelcast nodes? Is it base on Raft?
IMap
is.