为什么使用 MongoDB 代替 etcd 作为键值存储是好主意还是坏主意?

为什么使用 MongoDB 代替 etcd 作为键值存储是好主意还是坏主意?

我想从社区中了解一下为什么 MongoDB 的键/值可以或不能替代 etcd 或其他专用键/值存储系统(consol、zookeeper 等)。

答案1

Consul、zookeeper 和 etcd 都致力于为有限量的数据提供可靠的持久存储,即使在发生实例丢失和网络分区等故障的情况下也是如此。它们充当大型基础设施所依赖的关键配置数据的“真实来源”。

Mongo 则完全不同。它也有一些集群和故障转移功能,但其可靠性和耐用性在出现问题时明显不够稳定。

所以,这是否是个好主意取决于你的使用情况,但是如果你使用 etcd、consul 或 zookeeper 之一来实现其预期目的,就永远不会用 mongo 替换它们。

Kyle Kingsbury 撰写的无与伦比的《Call Me Maybe》系列详细介绍了各种数据库系统在困难条件下的行为:

https://aphyr.com/tags/Jepsen

以上内容及其他内容均已涵盖。强烈推荐。

相关内容