日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

2021升級版微服務教程6—Ribbon使用+原理+整合Nacos權重+實戰(zhàn)優(yōu)化

 小熊丫丫01 2021-01-27

Ribbon基本使用

簡介

Ribbon是一個客戶端負載均衡工具,封裝Netflix Ribbon組件,能夠提供客戶端負載均衡能力。

理解Ribbon最重要的就是理解客戶端這個概念,所謂客戶端負載均衡工具不同于Nginx(服務端負載均衡),Ribbon和應用程序綁定,本身不是獨立的服務,也不存儲服務列表,需要負載均衡的時候,會通過應用程序獲取注冊服務列表,然后通過列表進行負載均衡和調(diào)用。

Nginx獨立進程做負載均衡,通過負載均衡策略,將請求轉(zhuǎn)發(fā)到不同的服務上

客戶端負載均衡,通過在客戶端保存服務列表信息,然后自己調(diào)用負載均衡策略,分攤調(diào)用不同的服務

基本使用

Ribbon的負載均衡有兩種方式

RestTemplate 結(jié)合 Ribbon+RestTemplate

OpenFeign 結(jié)合

Ribbon的核心子模塊

ribbon-loadbalancer:可以獨立使用或者和其他模塊一起使用的負載均衡API

ribbon-core:Ribbon的核心API

訂單服務集成Ribbon

訂單遠程桌面服務調(diào)用商品服務

配置過程 分兩步

在訂單服務中導入ribbon的依賴

<!--ribbon--><dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId></dependency>

配置 RestTemplate

訂單服務調(diào)用商品服務

訂單服務調(diào)用商品服務的鏈接 不能寫成ip+端口號,需要寫成商品服務的服務名稱

參數(shù)調(diào)優(yōu)

主要調(diào)整請求的超時時間,是否重試

如果業(yè)務沒有做冪等性的話建議把重試關掉:ribbon.MaxAutoRetriesNextServer=0

# 從注冊中心刷新servelist的時間 默認30秒,單位msribbon.ServerListRefreshInterval=15000# 請求連接的超時時間 默認1秒,單位msribbon.ConnectTimeout=30000# 請求處理的超時時間 默認1秒,單位msribbon.ReadTimeout=30000# 對所有操作請求都進行重試,不配置這個MaxAutoRetries不起作用 默認false#ribbon.OkToRetryOnAllOperations=true# 對當前實例的重試次數(shù) 默認0# ribbon.MaxAutoRetries=1# 切換實例的重試次數(shù) 默認1ribbon.MaxAutoRetriesNextServer=0

如果MaxAutoRetries=1和MaxAutoRetriesNextServer=1請求在1s內(nèi)響應,超過1秒先同一個服務器上重試1次,如果還是超時或失敗,向其他服務上請求重試1次。

那么整個ribbon請求過程的超時時間為:ribbonTimeout = (ribbonReadTimeout + ribbonConnectTimeout) * (maxAutoRetries + 1) * (maxAutoRetriesNextServer + 1

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多