【SpringCloud-Alibaba系列教程】5.負(fù)載均衡

      網(wǎng)友投稿 818 2025-04-05

      一、介紹

      上一章我們簡(jiǎn)單的說(shuō)了一下關(guān)于Nacos的使用,這次我們首先做從Nacos獲取微服務(wù)地址和端口的操作,然后再進(jìn)行引出負(fù)載均衡的問(wèn)題。

      二、我們開(kāi)始吧

      首先我們?cè)谟唵蜟ontroller繼續(xù)編寫(xiě)

      這樣就通過(guò)了nacos獲取商品微服務(wù)ip以及端口等信息。

      這樣看來(lái) 我的list中serviceInstanceList.get(0);

      獲取的是第一個(gè)。那么問(wèn)題來(lái)了如果我要想讓隨機(jī)訪問(wèn)到商品微服務(wù)ip以及端口上面。

      或者我想循環(huán),那么怎么辦呢,但是我們?nèi)绾芜M(jìn)行設(shè)置呢?

      我們首先啟動(dòng)兩個(gè)端口的商品微服務(wù)。

      我們可以通過(guò)隨機(jī)數(shù),隨機(jī)獲取一個(gè)微服務(wù)序號(hào),然后進(jìn)行調(diào)用。

      這樣也會(huì)有一個(gè)問(wèn)題,我們要使用其他的負(fù)載均衡條件,一般是實(shí)現(xiàn)不了的,那有沒(méi)有其他的負(fù)載均衡的組件呢?

      答案肯定是有的,那就是Ribbon。

      那我們接下來(lái)就是使用這個(gè)Ribbon進(jìn)行對(duì)我們的代碼優(yōu)化。

      我們打開(kāi)OrderApplication在restTemplate添加一個(gè)負(fù)載均衡注解

      【SpringCloud-Alibaba系列教程】5.負(fù)載均衡

      然后我們打開(kāi)地址http://localhost:8091//order/prod/1

      刷新兩次進(jìn)行日志查看:

      我們可以看到兩次分別落在了兩個(gè)端口,這樣就實(shí)現(xiàn)了我們基本的Ribbon(默認(rèn)是輪詢)負(fù)載均衡

      當(dāng)然還有其他的模式例如

      RandomRule隨機(jī)策略:隨機(jī)選擇server

      RoundRobinRule輪詢策略:輪詢選擇, 輪詢index,選擇index對(duì)應(yīng)位置的Server;

      RetryRule重試策略:對(duì)選定的負(fù)載均衡策略機(jī)上重試機(jī)制,在一個(gè)配置時(shí)間段內(nèi)當(dāng)選擇Server不成功,則一直嘗試使用subRule的方式選擇一個(gè)可用的server;

      BestAvailableRule最低并發(fā)策略:逐個(gè)考察server,如果server斷路器打開(kāi),則忽略,再選擇其中并發(fā)鏈接最低的server

      AvailabilityFilteringRule可用過(guò)濾策略:過(guò)濾掉一直失敗并被標(biāo)記為circuit tripped的server,過(guò)濾掉那些高并發(fā)鏈接的server(active connections超過(guò)配置的閾值)或者使用一個(gè)AvailabilityPredicate來(lái)包含過(guò)濾server的邏輯,其實(shí)就就是檢查status里記錄的各個(gè)Server的運(yùn)行狀態(tài);

      ResponseTimeWeightedRule響應(yīng)時(shí)間加權(quán)重策略:根據(jù)server的響應(yīng)時(shí)間分配權(quán)重,響應(yīng)時(shí)間越長(zhǎng),權(quán)重越低,被選擇到的概率也就越低。響應(yīng)時(shí)間越短,權(quán)重越高,被選中的概率越高,這個(gè)策略很貼切,綜合了各種因素,比如:網(wǎng)絡(luò),磁盤(pán),io等,都直接影響響應(yīng)時(shí)間。

      ZoneAvoidanceRule區(qū)域權(quán)重策略:綜合判斷server所在區(qū)域的性能,和server的可用性,輪詢選擇server并且判斷一個(gè)AWS Zone的運(yùn)行性能是否可用,剔除不可用的Zone中的所有server

      具體可以查看相關(guān)wiki: https://github.com/Netflix/ribbon/wiki

      我們可以在配置文件中配置

      service-product: #服務(wù)提供者的名稱

      ribbon:

      NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #策略

      這樣我們就實(shí)現(xiàn)了負(fù)載均衡。

      后期會(huì)在這個(gè)項(xiàng)目上不斷添加,喜歡的請(qǐng)點(diǎn)個(gè)start~

      項(xiàng)目源碼參考一下分支220127_xgc_loadBalance

      Gitee:https://gitee.com/coderxgc/springcloud-alibaba

      GitHub:https://github.com/coderxgc/springcloud-alibaba

      Spring Cloud 負(fù)載均衡緩存

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:wps做課件怎么做(wps怎么做教學(xué)課件)
      下一篇:excel如何設(shè)置零值不顯示(excel表中如何不顯示零值)
      相關(guān)文章
      亚洲今日精彩视频| 亚洲AV永久无码精品一百度影院| 亚洲四虎永久在线播放| 亚洲中文字幕无码一区二区三区| 亚洲爽爽一区二区三区| 亚洲精品国产精品国自产观看| 亚洲国产婷婷综合在线精品| 国产成人亚洲综合在线| 亚洲丁香婷婷综合久久| 亚洲AV无码AV男人的天堂不卡| 亚洲AV无码一区二区三区电影 | 亚洲五月激情综合图片区| 亚洲2022国产成人精品无码区| 情人伊人久久综合亚洲| 亚洲αv在线精品糸列| 久久久久亚洲精品美女| 亚洲精品无码不卡| 亚洲视频在线不卡| 亚洲免费在线视频播放| 亚洲日本国产综合高清| 亚洲欧美日韩综合久久久| 亚洲av日韩av永久无码电影| 全亚洲最新黄色特级网站 | 亚洲AV无码一区二区三区在线| 亚洲一区中文字幕在线电影网| 中文字幕亚洲男人的天堂网络| 亚洲精品午夜国产va久久| 亚洲熟妇AV日韩熟妇在线| 亚洲欧美日韩中文无线码| 亚洲av无码日韩av无码网站冲| 在线精品自拍亚洲第一区| 亚洲人成影院在线无码观看| 久久久久亚洲AV无码专区网站 | 国产精品亚洲综合久久| 亚洲国产AV一区二区三区四区| 国产综合成人亚洲区| 亚洲一区二区三区在线视频| 亚洲成AV人片在线观看无码| 亚洲精品在线不卡| 香蕉大伊亚洲人在线观看| 激情无码亚洲一区二区三区|