<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                :-: ![](https://img.kancloud.cn/94/47/9447bea1492cbb0d8fef3fe60a5786d0_1897x713.png) **設置熱點限流的位置** ![](https://img.kancloud.cn/a3/b5/a3b5e3ab3a5ebb0704c57d71e7944d2e_844x724.png) **設置熱點限流的參數** * 資源名:注解`@SentinelResource`的`value`屬性值。 * 限流模式:QPS模式,即每秒請求數。 * 參數索引:對應方法參數列表中的第幾個參數,從0開始。 ```java @RequestMapping("/testHotKey") @SentinelResource(value = "testHotKey", blockHandler = "deal_testHotKet") public String testHotKey( @RequestParam(value = "p1", required = false) String p1, //參數索引為0 @RequestParam(value = "p2", required = false) String p2 //參數索引為1 ) {...} ``` * 單機閾值:即QPS為1s多少次請求。 * 統計窗口時長:從最后一次請求開始計算,過了窗口時長后取消限流。 * 參數例外項:可選,用于設置當某一個參數為某一個值時,額外設置它的閾值是多少。 下面演示熱點限流效果,步驟如下。 (1)限流規則:對資源名`testHotKey`的第0個參數設置限流。每秒只處理一次請求,但是當這個參數等于5的時候,閾值變為200。 :-: ![](https://img.kancloud.cn/2d/c2/2dc272ae7c7bbb2256d9ad1ffe9ef4ae_849x704.png) (2)資源代碼。 ```java @RestController public class FlowLimitController { /** * @SentinelResource注解可以對資源進行命名,并可以設置一些限流規則 * value: 就是資源名稱, * blockHandler:當發生限流時要運行的方法 */ @RequestMapping("/testHotKey") @SentinelResource(value = "testHotKey", blockHandler = "deal_testHotKet") public String testHotKey( @RequestParam(value = "p1", required = false) String p1, @RequestParam(value = "p2", required = false) String p2 ) { //int age = 10 / 0; 如果發生異常,則按普通的報錯處理,@SentinelResource處理不了 return "testHotKey-------"; } /** * 參數列表與testHotKey方法一樣外,需要再添加一個參數BlockException */ public String deal_testHotKet(String p1, String p2, BlockException e) { return "----deal_testHotKet,------"; } } ``` >[info]如果沒有給出blockHandler,觸發限流時就默認得到如下結果。 ![](https://img.kancloud.cn/e2/ef/e2ef50ca6eed2b7b145ec4fc811d7717_1303x363.png) (3)效果演示。 在1s內向 http://localhost:8401/testHotKey?p1=1 請求超過1次就會被限流。 ![](https://img.kancloud.cn/21/98/2198c9652a04a7fa6dd17d3406d2b6a4_1494x405.gif) 由于是對第0個參數p1進行限流,所以必須帶有該參數才會被限流,如下: http://localhost:8401/testHotKey?p1=1 1s內請求超過1次被限流。 http://localhost:8401/testHotKey?p1=1&p2=4 1s內請求超過1次被限流。 http://localhost:8401/testHotKey?p2=4 沒有帶參數p1,所以任何時候都不會被限流。 http://localhost:8401/testHotKey?p1=5 上面限流規則設置了當`p1=5`時閾值為200,所以1s內請求不超過200不會被限流。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看