sentinel踩坑記錄——持續更新ing

来源:https://www.cnblogs.com/Littstone/archive/2023/11/26/17856890.html
-Advertisement-
Play Games

Bug1 自定義被限流的後續操作@SentinelResource(blockHandler = "blockHandler"),其中blockHandler處理函數不執行 前置條件 //定義的資源 @GetMapping("/resource") @SentinelResource(value = ...


Bug1

自定義被限流的後續操作@SentinelResource(blockHandler = "blockHandler"),其中blockHandler處理函數不執行

前置條件

  
  //定義的資源
  @GetMapping("/resource") @SentinelResource(value = "/resource", blockHandler = "blockHandler") public String resource(int a){ return "resourcce" + a; } public String blockHandler(int a, BlockException e) { return "被限流了..." + a + e.getMessage(); }

 定義好資源和流控規則之後,如果每秒訪問超過2個請求,那麼就會觸發流控,從而應該執行 blockHandler(int a, BlockException e) 方法,但是實際情況是即使觸發了流控規則依然提示的是

 並沒有觸發blockHandler方法,後來我又去仔細看了一下文檔,顯示如下,發現返回值、訪問範圍、參數要求都一致,但就是不執行該方法。

 我又去翻看了一下文檔發現了一個案例,如下

 我對照了一下我的代碼發現,與這個案例的不同只有資源的定義名稱了,我的資源定義的是“/resource”,難不成是因為多了一個“/”的原因?

發現問題之後把資源名稱改成了“resource”,再重啟服務,定義流控規則,再嘗試一遍發現成功了,能執行blockHandler方法了。最後附上代碼

 @GetMapping("/resource")
    @SentinelResource(value = "resource", blockHandler = "blockHandler")
    public String resource(int a){
        return "resourcce" + a;
    }

    public String blockHandler(int a, BlockException e) {
        return "被限流了..." + a + e.getMessage();
    }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文首發於公眾號:Hunter後端 原文鏈接:Django筆記四十三之使用uWSGI部署Django系統 目前部署 Django 的方式一般來說是使用 Nginx + uWSGI + Django 來實現。 處理流程是,當一個請求發送過來會先經過 Nginx,如果是靜態文件請求,Nginx 這一層直 ...
  • 在導入包方面,兩者都使用import語句,但是Python沒有類路徑的概念,直接使用文件名來導入模塊。我們還討論了自定義模塊的創建和使用,以及在不同目錄下如何組織代碼結構。此外,我們介紹了一些常用的Python模塊,包括time、datetime、json、os和sys,它們在開發中非常實用。希望今... ...
  • 前言 玩SpringCloud之前最好懂SpringBoot,別搞撐死駱駝的事。Servlet整一下變成Spring;SSM封裝、加入東西就變為SpringBoot;SpringBoot再封裝、加入東西就變為SpringCloud 架構的演進 單體應用架構 單體架構:表示層、業務邏輯層和數據訪問層即 ...
  • 在今天的課上,我們深入討論了封裝、反射和單例模式這幾個重要的概念。我不想過多地贅述它們的細節,但是請大家務必記住它們的基本語法規則,因為這也是面向對象章節的結束。我希望大家能夠牢牢掌握這些知識點,為未來的學習打下堅實的基礎。 ...
  • 在Web應用中,表單處理是一個基本而常見的任務。Python的WTForms庫通過提供表單的結構、驗證和渲染等功能,簡化了表單的處理流程。與此同時,Flask的擴展Flask-WTF更進一步地整合了WTForms,為開發者提供了更便捷、靈活的表單處理方式。Flask-WTF是建立在WTForms之上... ...
  • 1 簡介 谷歌文檔是一種協作文檔編輯服務。 協作文檔編輯服務可以通過兩種方式設計: 設計為C/S架構的集中式設施,為所有用戶提供文檔編輯服務 使用點對點技術設計,以便在單個文檔上協作 大多數商業解決方案側重於客戶端服務體繫結構,以實現更精細的控制。因此,我們將關註使用客戶端服務體繫結構設計服務。讓我 ...
  • Jinja2,由Flask框架的創作者開發,是一款功能豐富的模板引擎,以其完整的Unicode支持、靈活性、高效性和安全性而備受推崇。最初受Django模板引擎啟發,Jinja2為Flask提供了強大的模板支持,後來也成為其他項目的首選。在本文中,我們將深入探討Jinja2的特性、語法以及如何在Fl... ...
  • 類應該是被封裝的,類的用戶通過介面使用類提供的功能,而不必關心類的內部如何實現。然而,C++標準庫容器 std::vector 的實現滲透到了介面中來。對於以下代碼: const int pushNum = 10; std::vector<int> v = { 1,2,3 }; int* p = & ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...