浅学习使用Ribbon 和 Feign的理解和使用
?
Ribbon是Netflix公司開源的一個負載均衡的項目,是一個基于 HTTP、TCP的客戶端負載均衡器.
什么是負載均衡?
? ? ? ? 負載均衡是微服務架構中必須使用的技術,通過負載均衡來實現系統的高可用、集群擴容等功能。負載均衡可通過
硬件設備及軟件來實現,硬件比如:F5、Array等,軟件比如:LVS、Nginx等。
常用的負載均衡算法有:?輪循、隨機、加權輪循、加權隨機、地址哈希等方法。
上面的都是服務端負載均衡,客戶端負載均衡與服務端負載均衡的區別在于客戶端要維護一份服務列表,Ribbon從
Eureka Server獲取服務列表,Ribbon根據負載均衡算法直接請求到具體的微服務,中間省去了負載均衡服務器。
? ?
? ? ? ? ?
1. 導入Ribbon依賴
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId><version>1.3.6.RELEASE</version> </dependency>2.?application.yml中配置ribbon參數
ribbon:MaxAutoRetries: 2 #最大重試次數,當Eureka中可以找到服務,但是服務連不上時將會重試MaxAutoRetriesNextServer: 3 #切換實例的重試次數OkToRetryOnAllOperations: false #對所有操作請求都進行重試,如果是get則可以,如果是post,put等操作沒有實現冪等的情況下是很危險的,所以設置為falseConnectTimeout: 5000 #請求連接的超時時間ReadTimeout: 6000 #請求處理的超時時間3.負載均衡測試
1. 啟動兩個負載均衡服務時,注意端口要不一致. 啟動完成觀察Eureka Server的服務列表。
2.注入RestTemplate,添加?@LoadBalanced 注解。
? ? ? ?
3.測試。 rest請求路徑上更換服務名
?? ? ? ? ??
Feign介紹
Feign是Netflix公司開源的輕量級rest客戶端,使用Feign可以非常方便的實現Http 客戶端。Spring Cloud引入
Feign并且集成了Ribbon實現客戶端負載均衡調用。
?
<!-- 引入Feign依賴--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>? ? ? ? ??
? ?啟動類中加入@EnableFeignClients注解,并進行測試。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的浅学习使用Ribbon 和 Feign的理解和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA高并发的三种实现
- 下一篇: 错误:docker-ce-cli con