【问题标题】:What is the best way to handle inter container communication in a IBM Bluemix container group?在 IBM Bluemix 容器组中处理容器间通信的最佳方式是什么?
【发布时间】:2016-11-04 03:55:04
【问题描述】:

我有一个包含多个容器的 IBM Bluemix 容器组。 我有几个用例(更改全局应用程序变量、分发 API 负载等),其中对容器的 REST API 调用需要通知组中的其他容器。

处理此问题的最佳方法是什么? bluemix 是否在组中的容器之间提供任何容器链接?

【问题讨论】:

    标签: containers ibm-cloud


    【解决方案1】:

    这有几种可能性。

    也许最简单的方法是写入共享卷,这还具有持久化的优势,新容器也可以加入组中查看。

    容器也可以直接通过 LB 与其他容器通信(查看组中容器内的“loadbalancer_fip”环境变量),但这并不能保证会命中组中的每个容器,即使使用几次尝试。

    第三种选择是使用 https://www.amalgam8.io/ 之类的东西,并让每个容器在启动时签入,然后它们可以通过它们的服务名称相互路由。这也让他们可以轻松访问同一空间中的其他容器组/服务。

    【讨论】:

    • 嗨 - 感谢您花时间回答这个问题。我将探索 amalgram8,以及我目前正在研究的另一个选项,即拥有一个数据库 pub/sub 和监听它的应用程序线程。我们使用 Mongo 和 Java,所以理论上应该是可以的。我可以看到微服务发现(例如 amalgam8)发生的一个问题是,当容器崩溃时,应用程序需要从服务发现中删除该容器,这是第 22 条问题。不是吗?
    • 对于 amalgam8,您可能会使用边车 (amalgam8.io/docs/sidecar.html) 对其进行配置,然后启用自动健康检查 (amalgam8.io/docs/sidecar-configuration.html#health-checks) 以在它消失时自动取消注册。至于看什么……不确定。只需要一个级别的交叉检查来处理它(即边车报告给响铃,所有边车也响铃看门狗),但我不清楚汞合金8的确切机制是什么。
    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多