mongodb - 何时不使用 StatefulSet?

标签 mongodb azure kubernetes azure-aks mongodb-atlas

上下文:我一直在学习 Kubernetes 并试图获得一些实践经验。我一直在使用 AKS 来抽象处理控制平面的复杂性(并且因为我有一个免费的学生 azure 帐户)。我正在部署一个连接到 MongoDB 数据库的 NodeJS 应用程序。到目前为止,部署已经成功,但我正在使用 MongoDB Atlas 并连接到它。

根据我对有状态集的了解,MongoDB Atlas 服务似乎更容易、更方便,但我的问题是,什么时候考虑使用 MongoDB 数据库部署有状态集是一个更好的主意? (在pod上运行)什么更划算?更容易扩展?

我意识到这些问题可能有点模糊,但我刚刚开始使用 Kubernetes..

免责声明:这不是一个生产应用程序,只是我用来学习 K8S 的一些简单的东西

最佳答案

Official docs文档使用statefullset,这是有道理的。通常,所有数据库类型的应用程序都部署为全状态集。因为可能存在节点彼此不同步的状态,这会导致节点之间的数据不一致(mongodb 节点而不是 kubernetes)。

您可以将 MongoDB 部署为部署。我已经看到它被部署了。但大多数客户端使用连接字符串进行连接(一串多个节点地址)。由于 kubernetes 公开了状态集 headless services你应该没事。

关于mongodb - 何时不使用 StatefulSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71416318/

相关文章:

linux - 连接被拒绝 MongoDB errno 111

Azure Cosmos DB SQL API UPDATE 语句 - 不替换整个文档

ssl - 有没有办法使用 prometheus 监控 kubernetes 中的 tls 证书?

java - 没有 http 的微服务 active 探针

kubernetes - 如何将防火墙规则添加到 gke 服务?

javascript - mongoDB - 如何在多个文档中查找和排序多个字段并将它们存储在单个数组中?

javascript - Mongoose 内部的 `_doc` 是什么(console.log 显示使用它和不使用它的结果相同)

javascript - 如何在mongodb中聚合显示其他字段

Azure Blob 存储 : Unable to upload the blob with size 0

azure - Nifi java.lang.NoSuchMethodError : org. apache.hadoop.conf.Configuration.reloadExistingConfigurations