日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Spring Cloud微服务实战(五)-应用通信

發布時間:2023/12/15 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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微服务实战(五)-应用通信的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。