這是一個令我討厭的問題,如何編寫一系列在不同位置的各種機器上運行的微服務,而無需對每個服務的每個位置進行硬編碼?沒有硬編碼的微服務發現的最佳實踐?
就像說例如我有服務A,它執行json消息的某種形式的驗證。服務A在方框1,3,5上運行,隨着需求增長,可以調出更多的實例。
現在說我有服務B,它看起來要打電話給服務A,我將如何與我的服務A所在的服務B進行通信?
可能的解決方案,我認爲:
硬編碼與服務A,然後委託任務分給服務A的所有實例「主」節點的位置服務B
消息隊列的使用情況? - 服務B寫入一系列消息隊列,服務A實例從設置的消息隊列中讀取並將結果發送回服務B.
SSDP-利用某種形式的簡單服務發現協議來廣播哪些服務在哪裏運行設置網絡並跟蹤這些服務。
我對這種建築風格很陌生,所以我希望我沒有遺漏一些非常簡單的東西?