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

Def*_*ode 5 mongodb zookeeper etcd consul

我想从社区中获得关于为什么 MongoDB 的键/值会或不会是 etcd 或其他专门构建的键/值存储系统(consol、zookeeper 等)的合适替代品的一般想法。

小智 7

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

Mongo 是一个完全不同的野兽。它还具有一些集群和故障转移功能,但其在遇到问题时的可靠性和耐用性明显较差。

因此,这是否是一个好主意取决于您的用例,但是如果有人将 etcd、consul 或 zookeeper 之一用于其预期目的,则永远不会用 mongo 替换它们。

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

https://aphyr.com/tags/Jepsen

以上所有内容和许多其他内容都包含在内。强烈推荐。