天天看點

【SpringCloud】支付微服務提供者provider叢集配置

目前項目中之有一個cloud-provider-payment8001提供者

【SpringCloud】支付微服務提供者provider叢集配置

看圖 服務提供者也是多個,也需要變成叢集,最終的結果就是注冊中心叢集,提供者是叢集。

建立cloud-provider-payment8002參考

就是把cloud-provider-payment8001拷貝到8002,在application.yml中修改了端口号8002

【SpringCloud】支付微服務提供者provider叢集配置

那麼現在問題來了

現在消費者80在注冊中心找微服務的提供者provider,現在有兩個提供在8001和8002,但是他們外暴露的名字都是cloud-payment-service,那麼到底是調用的哪個提供者了?8001還是8002?消費者調用的微服務的名稱是cloud-payment-service,但是在cloud-payment-service這個名字下面可能有一台,十幾台,幾百台機器,那到底調用的是哪一台了,就要看端口号了

是以現在8001和8002的controller中添加如下内容:

【SpringCloud】支付微服務提供者provider叢集配置

再修改原消費者80下的controller層

原來調用的url寫死了,因為是單機版,但是現在提供者是叢集了,就要從eureka server注冊中心取Application name

【SpringCloud】支付微服務提供者provider叢集配置

最後在加上@LoadBalanced注解賦予resttemplate負載均衡的能力

【SpringCloud】支付微服務提供者provider叢集配置

啟動8002和8001測試

注意啟動的順序

【SpringCloud】支付微服務提供者provider叢集配置

在eureka server注冊中心可以看到cloud-payment-service 有兩個8001和8002

【SpringCloud】支付微服務提供者provider叢集配置

使用8002去通路

【SpringCloud】支付微服務提供者provider叢集配置

通過consumer調用通路

多重新整理幾次注意看調用的端口号是不同的

【SpringCloud】支付微服務提供者provider叢集配置