首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库如何在Kubernetes中实现持久化卷间的数据同步

数据库如何在Kubernetes中实现持久化卷间的数据同步
EN

Stack Overflow用户
提问于 2019-07-14 16:07:21
回答 4查看 922关注 0票数 1

我刚刚在Kubernetes文档中读到了部署带有状态集的Cassandra主题。部署过程: 1.创建StorageClass 2.创建PersistentVolume (在我的例子中是4 PersistentVolume)。在1) storageClassName 3中创建。创建Cassandra无头服务4。使用StatefulSet来创建在StatefulSet yml定义的storageClassName中创建的Cassandra环设置。

因此,有4个荚: Cassandra-0,Cassandra-1,Cassandra-2,Cassandra-4,安装到2)卷(pv-0,pv-1,pv-2,pv-3)。我想知道这些持久卷如何/是否将数据彼此同步。

例如,如果我添加了一些记录,它将由pod cassandra-0在持久性卷pv-0中编写,那么如果稍后要从数据库中检索数据的人--使用cassandra-1 pod/pv --将看到添加到pv-0中的数据。有人能告诉我它到底是怎么工作的吗?

EN

回答 4

Stack Overflow用户

发布于 2019-07-14 21:29:33

  1. 这与Kubernetes无关
  2. 复制由数据库完成,并且是可配置的。
  3. 见CAP定理和Cassandra的最终一致性
  4. 您可以控制Cassandra中的一致性级别,记录是否立即跨跨更新或更新取决于您在Cassandra中所做的配置。
  5. 另请参阅:同步复制、异步复制

卡桑德拉一致性:

如何设置cassandra读写一致性

一致性级别是如何配置的?

票数 3
EN

Stack Overflow用户

发布于 2019-07-14 17:26:01

如果数据被部署在kubernetes或裸金属实例中,则在集群中传播数据的机制是独立的。Cassandra将尝试根据散列值(称为令牌)在节点上随机传播数据,并使用相同的算法检索信息。

还有其他需要考虑的因素:复制因子(拷贝数量)和所使用的一致性级别。

您可能想看看DS201: DataStax Enterprise Foundations of Apache Cassandra™ in Datastax学院,在那里他们介绍了Cassandra的基本知识。

票数 2
EN

Stack Overflow用户

发布于 2019-07-14 21:01:33

只是为了稍微扩展卡洛斯的回答,库伯内特斯并没有参与其中,而且卷卷是完全孤立的。复制和分发工作完全由数据库软件来处理。就K8s所见,它们只是单独的进程和单独的卷。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57029036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档