目前項目中之有一個cloud-provider-payment8001提供者
看圖 服務提供者也是多個,也需要變成叢集,最終的結果就是注冊中心叢集,提供者是叢集。
建立cloud-provider-payment8002參考
就是把cloud-provider-payment8001拷貝到8002,在application.yml中修改了端口号8002
那麼現在問題來了
現在消費者80在注冊中心找微服務的提供者provider,現在有兩個提供在8001和8002,但是他們外暴露的名字都是cloud-payment-service,那麼到底是調用的哪個提供者了?8001還是8002?消費者調用的微服務的名稱是cloud-payment-service,但是在cloud-payment-service這個名字下面可能有一台,十幾台,幾百台機器,那到底調用的是哪一台了,就要看端口号了
是以現在8001和8002的controller中添加如下内容:
再修改原消費者80下的controller層
原來調用的url寫死了,因為是單機版,但是現在提供者是叢集了,就要從eureka server注冊中心取Application name
最後在加上@LoadBalanced注解賦予resttemplate負載均衡的能力
啟動8002和8001測試
注意啟動的順序
在eureka server注冊中心可以看到cloud-payment-service 有兩個8001和8002
使用8002去通路
通過consumer調用通路
多重新整理幾次注意看調用的端口号是不同的