consul 能否支持大型 key/value 商店

Can consul support large key/value store

我们计划将我们的动态配置放在分层的 Consul KV 存储中。

数据大约有 10,000 个项目,并且随着我们的扩展将增加到数千个。

我们需要几个(几十个)节点来等待层次结构根上的更新。

这是 consul 设计用来处理的规模吗?

谢谢

Consul 集群可以容纳很多 K/V。在 运行 生产中的几个 Consul 集群之后,我们发现了一些您真正想要纠正的事情。

  • 确保在每个 DC 中至少使用 5 个 Consul 服务器,尤其是在跨可用性区域的 AWS 中。
  • 确保设置 GOMAXPROCS > 1,否则性能会很差。
  • 确保像 consul-template 这样的客户端被配置为查询任何服务器而不仅仅是领导者。
  • 尽可能聚合文档。如果您不需要为某些集合中的每个设置单独设置 K/V,则将它们放在单个路径的文档中。它将使复杂性大大降低。

现在我们在生产和开发环境中有 运行 10 个、5 个节点的 Consul DC。