0
我有一個具有多個容器的IBM Bluemix容器組。 我有幾個使用情況(更改全局應用程序變量,分發API負載等),其中一個REST API調用到一個容器,需要通知組中的其他容器。在IBM Bluemix容器組中處理容器間通信的最佳方式是什麼?
處理這個問題的最佳方法是什麼? bluemix是否提供了在一個組中的容器之間的任何容器鏈接?
我有一個具有多個容器的IBM Bluemix容器組。 我有幾個使用情況(更改全局應用程序變量,分發API負載等),其中一個REST API調用到一個容器,需要通知組中的其他容器。在IBM Bluemix容器組中處理容器間通信的最佳方式是什麼?
處理這個問題的最佳方法是什麼? bluemix是否提供了在一個組中的容器之間的任何容器鏈接?
這有幾種可能性。
也許最簡單的方法是寫入共享卷,這也具有持續加入組的新容器的優點。
容器也可以直接通過LB進行對話以到達其他容器(查看組中容器內的「loadbalancer_fip」環境變量),但這並不保證能夠擊中組中的每個容器,即使幾次嘗試。
第三種選擇是使用諸如https://www.amalgam8.io/之類的東西,並在啓動時檢查每個容器,然後他們可以通過其服務名稱路由到對方。這也可以讓他們輕鬆地進入同一空間的其他容器組/服務。
嗨 - 感謝您花時間回答這個問題。我將探索amalgram8,以及我目前正在研究的另一個選項,它有一個數據庫pub/sub和應用程序線程監聽它。我們使用Mongo和Java,所以理論上它應該是可能的。我可以看到微型服務發現(如amalgam8)發生的一個問題是,當容器崩潰時,應用程序需要將該容器從服務發現中移除,這是一種捕捉22的情況。不是嗎? –
對於amalgam8,您可能會將其配置爲邊車(https://www.amalgam8.io/docs/sidecar.html),然後啓用自動健康檢查(https://www.amalgam8.io/docs /sidecar-configuration.html#health-checks)自動導致它在註銷時被註銷。至於什麼手錶...不知道。只有真正需要一個級別的交叉檢查來處理它(即邊車報告響,並且所有sidecars都響鈴),但我不清楚汞合金8的確切機制。 –