前提場景:
存在一個服務A,會向服務B發送大量數據,稱這個動作爲a。服務B,會接受數據並做轉發,稱這個動作爲b。動作a十分迅速,動作b比較緩慢。因爲服務A是個集羣,而且動作b需要另一服務C提供控制信息。(如下圖)
現在問題來了,由於a很快b很慢,導致效率低下,若創建多個服務B,那麼服務A、C也會受到“牽連”,若是再考慮到負載均衡......等等的話,這並不是一個長久之計。那麼就需要一個管理 控制消息 與 分發的數據、管理多個B服務,且執行負載均衡策略的網關服務。
初步思路:
服務A會先向網關申請資源(想要請求到某個服務B),網關會根據某些策略,分析出自己下邊的所有服務B中,哪個是“較爲空閒”的,然後將這個服務B的“地址”發給服務A,之後服務A向這個服務B發送數據。當然,我們還必須將相應的控制信息發送給相應的服務B。圖中,redis或A和網關相連的線表:控制、請求或應答消息,藍色的線表示大量數據的通路。
目前工作不在這,以後再更新。