Consul是否坚持Key Value商店?

时间:2015-06-12 11:52:45

标签: persistence key-value consul

我正在评估一些分布式键值存储, etcd Consul 看起来非常有前景。我对服务发现,健康监控和配置服务感兴趣。

我喜欢Consul提供的额外功能,但是当服务出现故障时,我无法确定它是否仍然存在Key-Value存储区?似乎etcd提供了持久性。有什么建议?

3 个答案:

答案 0 :(得分:13)

Consul代理(cilent& server)将数据保存到data-dir。

代理没有持久保存数据的唯一情况是它开始于" -dev"模式。

答案 1 :(得分:9)

我最终在Docker上运行 progrium / docker-consul 图像并添加了一些键值对。用Ctrl-C关闭它后,当我重新启动容器时,值仍然存在。我还通过 docker exec 从命令行中杀了Consul,数据也被保留了。

progrium / docker-consul图像保留了/ data目录中的所有数据。

答案 2 :(得分:2)

来自github上的核心Consul开发人员message之一:

  

任何API注册的服务和检查也会将其配置写入data-dir,以便在代理重新启动之间保持持久性,因此如果Consul重新启动之间此目录丢失,则其配置将丢失。这当然不适用于在静态配置JSON文件中创建的服务/检查。

因此,在正常群集节点关闭的情况下,键值存储保存到数据目录。

如果意外的节点关闭(暂停),我没有发现它是否将KV存储持续到数据目录。