簡體   English   中英

Api服務網關

[英]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 IntegrationCamel都提供了對服務調用的編排/編排的支持。

在您的示例中,調用可以組成一個“消息流”(以XML或在這些庫的內部DSL中定義),並且此消息流可以使用庫的內置支持來進行路由調用,多次強制轉換調用,匯總響應A路由到BC可能會使用多重轉換,使用BC的輸出來調用D可能會使用聚合和路由。

另外,這些庫支持:

  • 進程內和遠程調用
  • 非功能性,例如相關性標識符,調節器,延遲器等。

在您的情況下,可以使用兩個受歡迎的項目:

  1. 駱駝:通過定義XML規則,您可以在服務甚至bean之間創建流。 我使用駱駝來完成類似的任務。

  2. zuul:這就像路由器,您可以立即將請求重定向到其他服務,也可以編寫一些邏輯來控制流程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM