Docker获取信息的表现:民意调查与事件

时间:2016-12-09 17:37:27

标签: docker docker-swarm

我有Docker swarm充满了容器。我需要监控什么时候上升或下降。我可以通过两种方式做到这一点:

  • 附在群上并听取事件。
  • 投票服务清单

事件的问题在于可能会有巨大的流量,如果某些事件没有得到处理,我们会简单地删除有关最新情况的信息。

对我来说,获得即时结果并不是非常重要,但要掌握正确的信息。

现实生活中的任何利弊?

2 个答案:

答案 0 :(得分:1)

根据我的经验,检查某些内容是启动还是停机应该使用运行状况检查来完成,并且应该与运行服务的基础架构无关(否则每次更改平台时都必须编写新的运行状况检查) 。当然 - 您可能拥有无法以这种方式监控的特定需求的服务 - 如果是这种情况,欢迎您对此发表评论。

如果您仅使用Swarm进行无状态服务,我建议创建一个运行状况检查路由,该路由可以验证服务是否正常,甚至可以将错误的容器与服务断开连接。

如果你正在运行状态良好的东西,这可能会比较棘手,但也有解决方案,通常在你的statefull容器上使用某种监控代理(我们使用的是cloudwatch,因为我们在AWS上运行,但有很多替代品)

希望这有帮助。

答案 1 :(得分:1)

倾听事件 - 它是即时的,但有风险,好像您的事件监听程序因任何原因而崩溃,您将错过重要信息并导致错误的结果。此Registrator程序基于事件。 轮询 - 最终一致的结果。但如果它解决了你的问题,那么获取数据就不那么痛苦了。无论您的程序崩溃还是重新启动。我们正在使用这种方法在我们的项目中进行服务发现,到目前为止它已经达到了目的。