當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Cloud微服务实战(五)-应用通信
生活随笔
收集整理的這篇文章主要介紹了
Spring Cloud微服务实战(五)-应用通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 訂單服務源碼
https://github.com/Wasabi1234/SpringCloud_OrderDemo - 商品服務源碼
https://github.com/Wasabi1234/SpringCloud_ProductDemo
1 HTTP vs RPC
5-2 RestTemplate的三種使用方式
3 負載均衡器:Ribbion
4 追蹤源碼自定義負載均衡策略
command+option+B進入其實現類再跟進到 LoadBalancerClient 中
RibbonLoadBalancerClient#choose()
RibbonLoadBalancerClient#getServer(ILoadBalancer loadBalancer)
ILoadBalancer
RibbonLoadBalancerClient#getServer(ILoadBalancer loadBalancer)
ILoadBalancer#getAllServers(),并進入
啟動兩個 Product 服務
product#1
product#2
再 debug 啟動 Order 服務
三個服務成功注冊 在此打斷點,并 debug 運行
獲取服務列表
- 再看看其負載均衡策略
可見默認即輪詢
負載均衡請求
請求到2
請求到1
的確是輪詢請求
通過啟動日志也可看出具體使用的策略
為了檢驗是否為輪詢,在此打斷點
符合預期,確實為輪詢
如果希望使用其他負載均衡規則該咋辦呢,看官網文檔
如希望用隨機規則替代默認的輪詢規則
配置全路徑名
成功替換默認規則
5-5 Feign的使用
Feign是一個聲明式的Web服務客戶端。這使得Web服務客戶端的寫入更加方便 要使用Feign創建一個界面并對其進行注釋。它具有可插入注釋支持,包括Feign注釋和JAX-RS注釋。Feign還支持可插拔編碼器和解碼器。Spring Cloud增加了對Spring MVC注釋的支持,并使用Spring Web中默認使用的HttpMessageConverters。Spring Cloud集成Ribbon和Eureka以在使用Feign時提供負載均衡的http客戶端。
如何加入Feign
要在您的項目中包含Feign,請使用組org.springframework.cloud和工件ID spring-cloud-starter-feign的啟動器
在啟動類添加注解@EnableFeignClients
可以在@EnableFeignClients屬性defaultConfiguration中以與上述相似的方式指定默認配置。不同之處在于,此配置將適用于所有feigh客戶端。
調用商品服務的目標接口
- @FeignClient
name屬性為某所需調用的某個服務的接口
在@FeignClient注釋中,String值(以上“存儲”)是一個任意的客戶端名稱,用于創建Ribbon負載平衡器,還可以使用url屬性(絕對值或只是主機名)指定URL。應用程序上下文中的bean的名稱是該接口的完全限定名稱。要指定自己的別名值,可以使用@FeignClient注釋的qualifier值。
添加@FeignClient注解
5-6 獲取商品列表(Feign)
5-7 扣庫存(Feign)
5-8 整合接口打通下單流程(Feign)
5-9 項目改造成多模塊
5-10 同步or異步
5-11 RabbitMQ的安裝
5-12 微服務,Docker和DevOps
總結
以上是生活随笔為你收集整理的Spring Cloud微服务实战(五)-应用通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国产新能源疯狂内卷!哈弗H6 PHEV官
- 下一篇: 重庆:实施新能源汽车置换补贴和绿色智能家