中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)站301跳轉怎么做的百度seo灰色詞排名代發(fā)

網(wǎng)站301跳轉怎么做的,百度seo灰色詞排名代發(fā),技術支持 哈爾濱網(wǎng)站建設,泰安做網(wǎng)站哪里好Spring Cloud Gateway熔斷集成 熔斷應用: 金融市場中的熔斷機制:在金融交易系統(tǒng)中,熔斷機制(Circuit Breaker)是一種市場保護措施,旨在預防市場劇烈波動時可能導致的系統(tǒng)性風險。當某個基準指數(shù)&#xff08…

Spring Cloud Gateway熔斷集成

熔斷應用:
金融市場中的熔斷機制:在金融交易系統(tǒng)中,熔斷機制(Circuit Breaker)是一種市場保護措施,旨在預防市場劇烈波動時可能導致的系統(tǒng)性風險。當某個基準指數(shù)(如股票指數(shù)或期貨價格)在短時間內發(fā)生急劇上漲或下跌達到預先設定的閾值時,交易所會自動暫停交易一段時間或者限制漲跌幅度,類似于電器中的保險絲在電流過載時熔斷以切斷電流。例如,在美國股市中,曾經(jīng)存在三級熔斷機制,分別在標普500指數(shù)下跌7%、13%和20%時觸發(fā)。
分布式計算中的熔斷機制: 在分布式系統(tǒng)或微服務架構中,熔斷機制是一種容錯設計模式,其目的是防止因依賴的服務出現(xiàn)故障而引發(fā)整個系統(tǒng)的雪崩效應。當一個服務調用另一個服務時,如果后者頻繁失敗或響應時間過長,熔斷器組件(如Hystrix、Resilience4j或Alibaba Sentinel)就會“熔斷”該調用鏈路,不再繼續(xù)請求有問題的服務,而是直接返回預設的錯誤信息或默認值,同時給調用方提供一個快速的失敗反饋,而不是長時間等待或阻塞資源。在后續(xù)的一段時間內(冷卻期),即使問題服務恢復,熔斷器也可能保持打開狀態(tài),僅在一段時間后嘗試半開狀態(tài)重新發(fā)起調用,以確認服務是否真正恢復正常。這樣可以確保整個系統(tǒng)的穩(wěn)定性,并允許其他健康的服務不受影響地繼續(xù)運行。

Spring Cloud Gateway 本身并不自帶完整的熔斷機制,但在早期版本中可以通過集成 Hystrix 來實現(xiàn)服務熔斷和降級。然而,隨著Hystrix的維護狀態(tài)變更,社區(qū)推薦使用如Resilience4j或Alibaba Sentinel等其他更活躍的容錯庫。

SpringCloudGateway集成Hystrix實現(xiàn)熔斷

第一步添加依賴:

在pom.xml或build.gradle文件中引入Spring Cloud Gateway與Hystrix的相關依賴。

 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>

第二部添加路由配置

在Spring Cloud Gateway配置中添加Hystrix過濾器,并定義相關的路由規(guī)則

  spring:cloud:gateway:routes:- id: your_route_iduri: lb://your_service_idpredicates:- Path=/api/** # 例如,匹配所有/api開頭的路徑filters:- name: Hystrixargs:name: fallbackcmdfallbackUri: forward:/fallback  # 當熔斷發(fā)生時轉發(fā)到的本地fallback處理邏輯

第三步添加回退提示

創(chuàng)建一個Controller或Endpoint來處理當Hystrix觸發(fā)熔斷時的回退操作。

  @RestControllerpublic class FallbackController {@GetMapping("/fallback")public Mono<String> fallback() {return Mono.just("Fallback response due to service unavailable.");}}

第四步添加Hystrix熔斷配置

確保Hystrix的全局配置已啟用,并根據(jù)需要配置熔斷閾值、超時時間等參數(shù)。

import com.netflix.hystrix.HystrixCommandProperties;@Configuration
public class HystrixConfiguration {@Beanpublic HystrixCommandProperties.Setter hystrixCommandProperties() {return HystrixCommandProperties.Setter().withExecutionTimeoutInMilliseconds(5000) // 設置命令執(zhí)行超時時間為5秒.withCircuitBreakerEnabled(true) // 啟用熔斷器.withCircuitBreakerErrorThresholdPercentage(50) // 當錯誤率達到50%時觸發(fā)熔斷.withCircuitBreakerSleepWindowInMilliseconds(30000); // 熔斷后的休眠窗口期為30秒}
}
hystrix:command:default: # 這里是全局默認配置,也可以針對特定命令鍵做單獨配置execution:isolation:thread:timeoutInMilliseconds: 5000 # 設置命令執(zhí)行超時時間為5秒circuitBreaker:enabled: true # 啟用熔斷器errorThresholdPercentage: 50 # 當錯誤率達到50%時觸發(fā)熔斷sleepWindowInMilliseconds: 30000 # 熔斷后的休眠窗口期為30秒

第五步實現(xiàn)熔斷邏輯

自定義熔斷 Hystrix Gateway Filter來完成熔斷邏輯的適配。

參考
import com.netflix.hystrix.HystrixCommand;
import com.netflix.hystrix.exception.HystrixRuntimeException;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
import org.springframework.http.HttpStatus;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;public class HystrixGatewayFilterFactory extends AbstractGatewayFilterFactory<HystrixGatewayFilterFactory.Config> {public static class Config {// 可配置屬性,如命令名稱、組鍵等private String commandKey;// 其他可能的配置項...// 構造函數(shù)和getters/setters省略...}@Overridepublic GatewayFilter apply(Config config) {return (exchange, chain) -> {// 創(chuàng)建Hystrix Command,封裝請求處理邏輯HystrixCommand<String> command = new HystrixCommand<String>(Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey(config.getCommandKey()))) {@Overrideprotected String run() throws Exception {// 執(zhí)行原始請求并獲取響應return chain.filter(exchange).block();}// 自定義fallback邏輯@Override

SpringCloudGateway集成Sentinel實現(xiàn)熔斷

第一步配置依賴

 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel-gateway</artifactId><version>{latest_version}</version></dependency>

  implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba-sentinel-gateway:{latest_version}'

第二步配置攔截器

  spring:cloud:gateway:routes:- id: your_route_iduri: lb://your_service_idpredicates:- Path=/your-api-path/**filters:- name: SentinelGatewayFilterargs:resource: your_api_resource_namelimitApp: default # 可選,限制調用來源應用,默認不限制fallbackUri: forward:/fallback  # 可選,設置降級處理邏輯路徑

第三步啟動sentinel服務

在這里插入圖片描述

通過 Docker 鏡像快速部署 Sentinel 控制臺

拉取 Sentinel 控制臺鏡像: 在終端中運行以下命令從 Docker Hub 拉取最新的 Sentinel 控制臺鏡像:

docker pull bladex/sentinel-dashboard

運行 Sentinel 控制臺容器: 使用以下命令創(chuàng)建并啟動一個 Docker 容器,其中 -p 參數(shù)用于映射宿主機端口到容器內部的 Sentinel 控制臺端口(默認為 8080),–name 參數(shù)用于指定容器名稱,-d 參數(shù)表示在后臺運行。

 docker run -d --name sentinel-dashboard -p 8080:8080 bladex/sentinel-dashboard

訪問 Sentinel 控制臺: Sentinel 控制臺服務啟動后,可以通過瀏覽器訪問 http://localhost:8080 來登錄控制臺。默認用戶名和密碼都是 sentinel。

手動下載編譯后的 jar 包運行

下載 Sentinel 控制臺 jar 包: 訪問 Sentinel GitHub Release 頁面 下載最新版本的 sentinel-dashboard.jar 文件。
運行 Sentinel 控制臺: 在下載目錄下,使用 Java 運行該 jar 包,并指定端口號(例如 8080)

 java -jar sentinel-dashboard.jar --server.port=8080

訪問 Sentinel 控制臺: 同樣地, Sentinel 控制臺服務啟動后,可以在瀏覽器中輸入 http://localhost:8080 來訪問和管理 Sentinel 策略。

配置熔斷規(guī)則

登錄 Sentinel 控制臺,為之前定義的資源名稱(例如 your_api_resource_name)配置流控、降級、系統(tǒng)保護等策略。
在這里插入圖片描述

編寫降級處理邏輯

如果在配置中指定了 fallbackUri,則需要在服務端實現(xiàn)對應的降級處理邏輯,當觸發(fā)熔斷時將執(zhí)行這個邏輯。

yaml配置

在 Spring Cloud Gateway 的路由配置中,為 SentinelGatewayFilter 添加 fallbackUri 參數(shù),指定一個本地處理熔斷或降級的 URI。

 spring:cloud:gateway:routes:- id: your_route_iduri: lb://your_service_idpredicates:- Path=/your-api-path/**filters:- name: SentinelGatewayFilterargs:resource: your_api_resource_namefallbackUri: forward:/fallback
具體實現(xiàn)

在您的 Spring Boot 應用中創(chuàng)建一個 Controller 或者 Endpoint 來處理這個 /fallback 請求。

@RestControllerpublic class FallbackController {@GetMapping("/fallback")public Mono<String> fallback(ServerWebExchange exchange) {// 這里可以根據(jù)需要自定義降級返回的內容return Mono.just("Fallback response due to service unavailable.");}}
http://www.risenshineclean.com/news/28725.html

相關文章:

  • 做的好的學校網(wǎng)站電話營銷銷售系統(tǒng)
  • 為什么做的網(wǎng)站別的瀏覽器打不開怎么回事永久免費自動建站
  • 讀心王爺太難纏抖音seo代理
  • 網(wǎng)站空間商推薦百度怎樣發(fā)布信息
  • 最版網(wǎng)站建設案例百度引流推廣怎么收費
  • wordpress騰訊地圖插件北京優(yōu)化網(wǎng)站建設
  • 網(wǎng)站建設的快樂技能培訓班
  • 武漢seo網(wǎng)站優(yōu)化排名中國輿情觀察網(wǎng)
  • 建設網(wǎng)站找哪個公司怎么開通網(wǎng)站
  • 訪問外國網(wǎng)站速度慢app引流推廣軟件
  • 大數(shù)據(jù)網(wǎng)站開發(fā)網(wǎng)站建設制作教程
  • 做網(wǎng)站 賺錢嗎推廣費用一般多少
  • 怎樣創(chuàng)作網(wǎng)站電腦培訓班價目表
  • 做婚禮策劃的網(wǎng)站英文網(wǎng)站seo發(fā)展前景
  • 網(wǎng)站建設相關基礎實驗總結注冊網(wǎng)站免費注冊
  • example郵箱注冊網(wǎng)站最近剛發(fā)生的新聞
  • 網(wǎng)站專題設計軟件谷歌優(yōu)化工具
  • 百度商橋怎樣綁定網(wǎng)站百度搜索推廣操作簡要流程
  • 網(wǎng)站水印怎么做的企點
  • 用vue做網(wǎng)站谷歌推廣費用多少
  • 兩學一做網(wǎng)站無法做題鞏義網(wǎng)站優(yōu)化公司
  • 西安網(wǎng)站建設制作價格低免費友鏈平臺
  • 玉兒做春夢網(wǎng)站網(wǎng)站優(yōu)化建議
  • 百度云 wordpress 教程視頻優(yōu)化網(wǎng)站推廣教程整站
  • 花錢想貸款結果成了做網(wǎng)站網(wǎng)站制作大概多少錢
  • 現(xiàn)在一般做B2B類網(wǎng)站用vue營銷方式和手段有哪些
  • 網(wǎng)站網(wǎng)頁設計要求真正免費的網(wǎng)站建站平臺運營
  • 做五金有哪些網(wǎng)站推廣觀看b站的廣告網(wǎng)站平臺
  • 網(wǎng)站做淘寶推廣收入平臺seo什么意思
  • 網(wǎng)站怎樣在360做優(yōu)化溫州seo推廣外包