簡體   English   中英

春季微服務:來自其他微服務的信息響應

[英]Spring microservices: response with info from other microservices

假設我們有兩個服務AccountService和OrderService。 兩者均已在尤里卡(Eureka)注冊。 現在,第三個服務可以從Eureka獲取有關這兩個服務的信息並進行調用,但是我需要的是,當執行get order調用時,它應該在內部調用帳戶服務,以將帳戶信息填充到order bean中,然后進行響應。 請注意,每種服務的數據庫都不同,帳戶ID也存儲在訂單表中以供參考。 現在應該如何構建Order服務,以便在運行時可以獲取帳戶並使用該信息構建Order對象。 現在,在所有實體都位於單個RDBMS中的整體式設計中,使用休眠管理嵌套對象將非常容易,但是不確定如何在微服務中處理它們的想法是完全將它們分離。

class Account(){
String name;
Long acct_id;
}
class Order(){
Account acct;
int order_id;
....
}

可以有多種方法來執行此操作:

  1. 第三服務可以調用定單服務以獲取定單信息,然后根據帳戶ID調用定單服務以獲取帳戶信息並構建定單對象。

  2. Order Service可以根據帳號調用帳戶服務,並將其設置為訂購對象,然后再響應第三項服務。

  3. Order Service可以在其數據庫中保留帳戶信息的影子副本(例如,使用事件源),並且可以單獨使用帳戶信息構建Order對象。

只需在模型中使用String acct_id而不是Account acct (為什么帳戶標識符是字符串?)

暫無
暫無

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

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