Spring Cloud LoadBalancer詳解

一、介紹

Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客戶端負載均衡器,抽象和實現,用來替代Ribbon(已經停更),

二、Ribbon和Loadbalance 對比

組件組件提供的負載策略支持負載的客戶端
Ribbon隨機 RandomRule
輪詢 RoundRobinRule
重試 RetryRule
最低并發 BestAvailableRule
可用過濾 AvailabilityFilteringRule
響應時間加權重 ResponseTimeWeightedRule
區域權重 ZoneAvoidanceRule
Feign或openfeign、RestTemplate
Spring Cloud LoadbalancerRandomLoadBalancer 隨機(高版本有,此版本沒有RoundRobinLoadBalancer 輪詢(默認)Ribbon 所支持的、WebClient

LoadBalancer 的優勢主要是,支持響應式編程的方式異步訪問客戶端,依賴 Spring Web Flux 實現客戶端負載均衡調用。

三、整合LoadBlance

注意如果是Hoxton之前的版本,默認負載均衡器為Ribbon,需要移除Ribbon引用和增加配置spring.cloud.loadbalancer.ribbon.enabled: false。

1、升級版本

Spring Cloud AlibabaSpring cloudSpring Boot
2.2.6.RELEASESpring Cloud Hoxton.SR92.3.2.RELEASE

2、移除ribbon依賴,增加loadBalance依賴

<!--nacos-服務注冊發現-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><exclusions><!--將ribbon排除--><exclusion><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></exclusion></exclusions>
</dependency><!--添加loadbalanncer依賴, 添加spring-cloud的依賴-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>

四、自定定義負載均衡器

package com.msb.order.loadbalance;import org.springframework.beans.factory.ObjectProvider;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.reactive.DefaultResponse;
import org.springframework.cloud.client.loadbalancer.reactive.EmptyResponse;
import org.springframework.cloud.client.loadbalancer.reactive.Request;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72353.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72353.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72353.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu中ollama設置記錄

自己同一臺電腦主機安裝3080和3090顯卡&#xff0c;測試發現ollama只默認跑在3090上&#xff1b;故查看一下設置&#xff0c;成功也把3080也運行起來了。 原因如下&#xff1a; 開始設置記錄&#xff1a; Environment Variables: OLLAMA_DEBUG 作用&#xff1a;顯示額外的調試…

RabbitMQ系列(四)基本概念之Exchange

在 RabbitMQ 中&#xff0c;Exchange&#xff08;交換機&#xff09; 是消息路由的核心組件&#xff0c;負責根據規則將生產者發送的消息分發到對應的隊列&#xff08;Queue&#xff09;中。以下是其核心功能與分類的詳細說明&#xff1a; 一、Exchange 的核心作用 消息路由樞…

有沒有什么免費的AI工具可以幫忙做簡單的ppt?

互聯網各領域資料分享專區(不定期更新): Sheet 正文 1. 博思AIPPT 特點:專為中文用戶設計,支持文本/文件導入生成PPT,內置海量模板和智能排版功能,涵蓋商務、教育等多種場景。可一鍵優化布局、配色,并集成AI繪圖功能(文生圖/圖生圖)。適用場景:職場匯報、教育培訓、商…

【Python · PyTorch】循環神經網絡 RNN(基礎應用)

【Python PyTorch】循環神經網絡 RNN&#xff08;簡單應用&#xff09; 1. 簡介2. 模擬客流預測&#xff08;數據集轉化Tensor&#xff09;3.1 數據集介紹3.2 訓練過程 3. 模擬股票預測&#xff08;DataLoader加載數據集&#xff09;3.1 IBM 數據集3.1.2 數據集介紹3.1.3 訓練…

【JSON2WEB】15 銀河麒麟操作系統下部署JSON2WEB

【JSON2WEB】系列目錄 【JSON2WEB】01 WEB管理信息系統架構設計 【JSON2WEB】02 JSON2WEB初步UI設計 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代碼前端框架介紹 【JSON2WEB】05 前端開發三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…

地基簡識Spring MVC 組件

Spring MVC 是一個基于 MVC 設計模式的框架&#xff0c;其核心組件協同工作以處理 HTTP 請求并生成響應。以下是各組件的詳細說明及其協作流程&#xff1a; 一、?核心組件 ?DispatcherServlet&#xff08;前端控制器&#xff09;? ?作用&#xff1a;接收所有請求并協調其他…

Spring Boot(七):Swagger 接口文檔

1. Swagger 簡介 1.1 Swagger 是什么&#xff1f; Swagger 是一款 RESTful 風格的接口文檔在線自動生成 功能測試功能軟件。Swagger 是一個規范和完整的框架&#xff0c;用于生成、描述、調用和可視化 RESTful 風格的 Web 服務。目標是使客戶端和文件系統作為服務器以同樣的…

cursor 彈出在簽出前,請清理倉庫工作樹 窗口

問題出現的背景&#xff1a;是因為我有兩臺電腦開發&#xff0c;提交后&#xff0c;另一個電腦的代碼是舊的&#xff0c;這個時候我想拉取最新的代碼&#xff0c;就會出現如下彈窗&#xff0c;因為這個代碼暫存區有記錄或者工作區有代碼的修改&#xff0c;所以有沖突&#xff0…

Cocos Creator3.8.6拖拽物體的幾種方式

文章目錄 前言一、第一種通過UILocation二、第二種通過UIDelta實現總結 前言 在游戲開發中&#xff0c;拖拽物體是一個非常常見的交互功能&#xff0c;無論是用于UI元素的拖動&#xff0c;還是場景中物體的移動&#xff0c;拖拽操作都能極大地提升用戶體驗。Cocos Creator 3.8…

在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南

隨著人工智能技術的飛速發展&#xff0c;本地部署大型語言模型&#xff08;LLM&#xff09;已成為許多技術愛好者的熱門選擇。本地部署不僅能夠保護隱私&#xff0c;還能提供更靈活的使用體驗。本文將詳細介紹如何在 Mac mini M2&#xff08;24GB 內存&#xff09;上部署 DeepS…

《UE5_C++多人TPS完整教程》學習筆記33 ——《P34 關卡與大廳之間的過渡(Transition Level And Lobby)》

本文為B站系列教學視頻 《UE5_C多人TPS完整教程》 —— 《P34 關卡與大廳之間的過渡&#xff08;Transition Level And Lobby&#xff09;》 的學習筆記&#xff0c;該系列教學視頻為計算機工程師、程序員、游戲開發者、作家&#xff08;Engineer, Programmer, Game Developer,…

Nginx 配置與常用命令速查手冊

Nginx 配置文件結構 Linux 中 Nginx 的配置文件&#xff1a; 通常位于 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf。 Nginx 采用模塊化設計&#xff0c;主要分為以下部分&#xff1a; 1. 全局塊 配置與服務器整體相關的參數&#xff0c;如工作進程數、日…

Vscode 便用快捷鍵設置教程

文章目錄 簡介&#xff1a;1. go to define (跳轉到函數定義的位置)2. go to declaration (跳轉到函數聲明的位置)3. move line &#xff08;上下移動本行代碼&#xff09;3.1上下復制本行代碼 4. 前進和后退&#xff08;就是前進到光標上一次停留的位置&#xff0c;和后退到那…

Vim 常用快捷鍵大全:跳轉、編輯、查找替換全解析

摘要&#xff1a; Vim 是一款非常強大的文本編輯器&#xff0c;許多程序員和系統管理員都離不開它。 本文詳細介紹了 Vim 編輯器中的常用快捷鍵和命令&#xff0c;從基本模式、光標移動、編輯操作到查找替換&#xff0c;再到文件保存等常用操作&#xff0c;幫助你快速上手并提…

【實戰篇】【深度解析DeepSeek:從機器學習到深度學習的全場景落地指南】

一、機器學習模型:DeepSeek的降維打擊 1.1 監督學習與無監督學習的"左右互搏" 監督學習就像學霸刷題——給標注數據(參考答案)訓練模型。DeepSeek在信貸風控場景中,用邏輯回歸模型分析百萬級用戶數據,通過特征工程挖掘出"凌晨3點頻繁申請貸款"這類魔…

Vue核心知識:Vue動態權限到按鈕完整方案

為了進一步實現上面提到的動態路由功能&#xff0c;并且加入對每個路由的權限控制&#xff08;即增、刪、改、查按鈕的權限控制&#xff09;&#xff0c;我們需要對數據庫、后端接口、前端的設計做一些改進和擴展。下面我將詳細描述如何在現有方案的基礎上加入對路由的增、刪、…

swift 開發效率提升工具

安裝github copliot for xcode github/CopilotForXcode brew install --cask github-copilot-for-xcode安裝swiftformat for xcode brew install swiftformatXcode Swift File代碼格式化-SwiftFormat

Trae智能協作AI編程工具IDE:如何在MacBook Pro下載、安裝和配置使用Trae?

Trae智能協作AI編程工具IDE&#xff1a;如何在MacBook Pro下載、安裝和配置使用Trae&#xff1f; 一、為什么選擇Trae智能協作IDE&#xff1f; 在AI編程新時代&#xff0c;Trae通過以下突破性功能重新定義開發體驗&#xff1a; 雙向智能增強&#xff1a;AI不僅提供代碼補全&a…

【推薦項目】023-游泳俱樂部管理系統

023 游泳俱樂部管理系統 游泳俱樂部管理系統概述 前端技術框架&#xff1a; 我們優雅地采用了Vue.js作為游泳俱樂部管理系統的前端基礎框架。Vue.js以其輕盈、高效和易于上手的特點&#xff0c;為我們的用戶界面帶來了極致的流暢性和響應速度。通過Vue.js&#xff0c;我們為…

C語言:51單片機 基礎知識

一、單片機概述 單片機的組成及其特點 單片機是指在一塊芯片上集成了CPU、ROM、RAM、定時器/計數器和多種I/O接口電路等&#xff0c;具有一定規模的微型計算機。 特點&#xff1a; 1、單片機的存儲器以ROM、RAM嚴格分工。 2、采用面向控制的指令系統。 3、單片機的I/O口引腳通…