[英]Api Gateway for Services
我正在用Java開發Web服務。 現在說我有10個服務,我希望所有服務只能通過Apigateway訪問。
現在假設我有一個API調用,需要先調用4個服務,例如A,B,C,D,因為首先需要調用A服務,然后使用o / p B和C可以並行調用,最后使用B&C的o / p稱為服務D。
然后組合o / p並返回響應。
現在,這個串聯和並聯組合可以是任何東西。 是否有任何開放源代碼實現可以做到這一點。 我的意思是我提供了方案,它會自動發送請求,還是我必須開發此網關?
這個 ...
首先需要調用A服務,然后可以並行使用o / p B和C調用服務,最后使用B&C的o / p調用服務D。
聽起來像是企業集成模式。 Spring Integration和Camel都提供了對服務調用的編排/編排的支持。
在您的示例中,調用可以組成一個“消息流”(以XML或在這些庫的內部DSL中定義),並且此消息流可以使用庫的內置支持來進行路由調用,多次強制轉換調用,匯總響應A
路由到B
, C
可能會使用多重轉換,使用B
和C
的輸出來調用D
可能會使用聚合和路由。
另外,這些庫支持:
在您的情況下,可以使用兩個受歡迎的項目:
駱駝:通過定義XML規則,您可以在服務甚至bean之間創建流。 我使用駱駝來完成類似的任務。
zuul:這就像路由器,您可以立即將請求重定向到其他服務,也可以編寫一些邏輯來控制流程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.