Spring cloud有兩種服務調用方式,
1 ribbon+restTemplate,
2 是feign。
ribbon是一個負載均衡客戶端,Feign默認集成了ribbon。
1ribbon restTemplate
新建Ribbon-servermodule。
通過註解@EnableDiscoveryClient向Eureka Server註冊:
通過註解@LoadBalanced實現負載均衡:
ribbon有多種修改負載均衡的策略,可以通過配置文件進行修改。
包括了三個module:
Eureka-server 端口8800
Ribbon-server 端口8801
Eureka-client 端口8802、8803
也就是Eureka-client啓動兩個實例,如下圖:
執行http://localhost:8800/查看註冊的service:
執行http://localhost:8801/index驗證實現了負載均衡:
2 feign rest
Feign是一個聲明式的僞Http客戶端,Feign默認集成了Ribbon,並和Eureka結合,默認實現了負載均衡的效果。
Feign 採用的是基於接口的註解
Feign 整合了ribbon
通過註解實現開啓feign功能:
@EnableFeignClients
包括了三個module:
Eureka-server 端口8800
Feign-server 端口8801
Eureka-client 端口8802、8803
也就是Eureka-client啓動兩個實例,如下圖:
執行http://localhost:8800/查看註冊的service:
執行http://localhost:8801/index驗證實現了負載均衡:
代碼參考:https://github.com/alifeidao/springcloud-simple chapter2-1和chapter2-2