微服務之服務保護策略【持續更新】

文章目錄

  • 線程隔離
    • 一、滑動窗口算法
    • 二、漏桶算法
    • 三、令牌桶算法
  • 面試題
    • 1、Sentinel 限流和Gateway限流的區別

線程隔離

兩種實現方式
線程池隔離(Hystix隔離),每個被隔離的業務都要創建一個獨立的線程池,線程過多會帶來額外的CPU開銷,性能一般,但隔離性更強;
信號量隔離(Sentinel隔離),不用創建線程池,性能較好,但隔離性一般。

服務保護算法

一、滑動窗口算法

固定窗口算法
1、其將時間劃分為多個窗口,窗口時間跨度為Interval;
2、每個窗口分別計數統計,每有一次請求就將計數器+1,限流就是設置計數器閾值;
3、如果計數器超過限流閾值,則超過閾值的請求都被丟棄;
缺點:在特殊情況,在前一間隔中間 和 后一間隔中間,組成完整的間隔。
在這里插入圖片描述
實現步驟
1、將窗口劃分為n個更小的區間,窗口的時間跨度interval為1秒,區間數量n=2,則每個區間的時間跨度為500ms,每個區間都有計數器;
2、限流閾值依然是3,時間窗口內請求超過閾值時,超出的請求被限流;
3、窗口會根據當前請求所在時間currentTime移動,窗口范圍從currentTime - interval 之后的第一個時區開始,到currentTime所在時區結束。
在這里插入圖片描述

二、漏桶算法

實現步驟
1、將每個請求視做水滴放入漏桶進行存儲;
2、漏桶以固定速率向外進行漏出請求執行,如果漏桶空了,則停止漏水;
3、如果漏桶滿了,則將多余的水滴進行直接丟棄。
桶的容量取決與限流的QPS閾值和允許等待的最大超時時間
在這里插入圖片描述

三、令牌桶算法

實現步驟
1、以固定速率生成令牌,存入令牌桶中,如果令牌桶滿了,則停止生成;
2、請求進入后,必須先嘗試從桶中獲取令牌,獲取到令牌后才可以被處理;
3、如果令牌桶中沒有令牌,則請求等待或丟棄
設置的令牌的速率不能設置為服務器處理的上限
適應場景:熱點參數限流

面試題

1、Sentinel 限流和Gateway限流的區別

Gateway采用基于Redis實現的令牌桶算法
Sentinel 默認限流方式為基于滑動窗口算法,中斷路器基于滑動窗口
限流后可快速失敗和排隊等等待,其中排隊等待是基于漏桶算法
熱點參數限流則是基于令牌桶算法

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

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

相關文章

【C語言】C語言-體育彩票的模擬生成和兌獎(源碼+論文)【獨一無二】

👉博__主👈:米碼收割機 👉技__能👈:C/Python語言 👉公眾號👈:測試開發自動化【獲取源碼商業合作】 👉榮__譽👈:阿里云博客專家博主、5…

【涵子來信科技潮流】——WWDC24回顧與暑假更新說明

期末大關,即將來襲。在期末之前,我想發一篇文章,介紹有關WWDC24的內容和暑假中更新的說明。本篇文章僅為個人看法和分享,如需了解更多詳細內容,請通過官方渠道或者巨佬文章進行進一步了解。 OK, Lets go. 一、WWDC24 …

Linux grep技巧 刪除含有指定關鍵詞的行,創建新文件

一. 需求 ?有如下文件,現要求 刪除含有xuecheng關鍵字的行刪除含有192.168.1.1關鍵字的行也就是說,最終只會留下127.0.0.1 license.sublimehq.com 127.0.0.1 www.xuecheng.com 127.0.0.1 img.xuecheng.com 192.168.1.1 www.test.com 127.0.0.1 video…

力扣每日一題 6/30 記憶化搜索/動態規劃

博客主頁:誓則盟約系列專欄:IT競賽 專欄關注博主,后期持續更新系列文章如果有錯誤感謝請大家批評指出,及時修改感謝大家點贊👍收藏?評論? 494.目標和【中等】 題目: 給你一個非負整數數組 nums 和一個…

VMware17.0 安裝過程

VMware17.0 VMware 17.0 是一款功能強大的虛擬機軟件,用于在計算機上創建和管理虛擬機。它能夠同時運行多個操作系統,如 Windows、Linux 等,并且在這些虛擬機之間提供無縫的切換和共享功能。 VMware 17.0 支持最新的硬件和操作系統&#xf…

Chrome瀏覽器web調試(js調試、css調試、篡改前置)

目錄 1. 打開開發者工具(Dev Tool) 2. 打開命令菜單 截圖 3. 面板介紹 4. CSS調試 右鍵檢查快速到達元素處 查找DOM數 利用面板Console查找DOM節點 內置函數查找上一個選擇點擊的元素 5. 調試JS代碼(Javascript調試) 日志調試 選擇查看日志等級 眼睛觀測變量 …

【Leetcode 67 Easy】二進制求和

目錄 題目描述: 整體思路: 具體代碼: 題目描述: 原題地址 給你兩個二進制字符串 a 和 b ,以二進制字符串的形式返回它們的和。 示例 1: 輸入:a "11", b "1" 輸出:&qu…

ubuntu 18 虛擬機安裝(4)安裝 postgres sql 數據庫

ubuntu 18 虛擬機安裝(4)安裝 postgres sql 數據庫 如何查看PostgreSQL的版本 https://blog.csdn.net/lee_vincent1/article/details/138731465 postgres 查看全部數據庫 https://blog.csdn.net/xie__jin__cheng/article/details/138653002 Ubuntu18.04…

數據資產鑄就市場競爭優勢:運用先進的數據分析技術,精準把握市場脈搏,構建獨特的競爭優勢,助力企業實現市場領先地位,贏得持續成功

目錄 一、引言 二、數據資產的重要性 三、先進數據分析技術的應用 1、大數據分析技術 2、人工智能與機器學習 3、數據可視化技術 四、精準把握市場脈搏 1、深入了解客戶需求 2、預測市場趨勢 3、優化資源配置 五、構建獨特的競爭優勢 1、定制化產品和服務 2、精準營…

數據結構—判斷題

1.數據的邏輯結構說明數據元素之間的順序關系,它依賴于計算機的存儲結構。 答案:錯誤 2.(neuDS)在順序表中邏輯上相鄰的元素,其對應的物理位置也是相鄰的。 答案:正確 3.若一個棧的輸入序列為{1, 2, 3, 4, 5},則不…

nginx上傳文件限制

默認限制 Nginx 限制文件大小可以通過 client_max_body_size 指令來設置,該指令通常在 http、server 或 location 塊中設置,如果不設置,默認上傳大小為1M。 修改上傳文件限制 要修改Nginx的文件上傳大小限制,你需要編輯Nginx的配…

接口自動化測試關聯token的方法?

引言: 在接口自動化測試中,有時候我們需要關聯token來進行身份驗證或權限管理。本文將從零開始,介紹如何詳細且規范地實現接口自動化測試中token的關聯。 步驟一:準備工作 在開始之前,我們需要確保以下準備工作已完成…

如何在 Linux 中后臺運行進程?

一、后臺進程 在后臺運行進程是 Linux 系統中的常見要求。在后臺運行進程允許您在進程獨立運行時繼續使用終端或執行其他命令。這對于長時間運行的任務或當您想要同時執行多個命令時特別有用。 在深入研究各種方法之前,讓我們先了解一下什么是后臺進程。在 Linux 中…

Kafka~特殊技術細節設計:分區機制、重平衡機制、Leader選舉機制、高水位HW機制

分區機制 Kafka 的分區機制是其實現高吞吐和可擴展性的重要特性之一。 Kafka 中的數據具有三層結構,即主題(topic)-> 分區(partition)-> 消息(message)。一個 Kafka 主題可以包含多個分…

3-linux命令行與基本命令

目錄 什么是shell linux命令 命令組成 幾個簡單的命令 linux文件系統導航 什么是shell linux學習路徑:學習shell→配置和環境→見任務和主要工具→編寫shell腳本 shell是一個接收由鍵盤輸入的命令,并將其傳遞給操作系統來執行的程序。幾乎所有…

C++學習全教程(Day2)

一、數組 在程序中為了處理方便,常常需要把具有相同類型的數據對象按有序的形式排列起來,形成“一組”數據,這就是“數組”(array) 數組中的數據,在內存中是連續存放的,每個元素占據相同大小的空間,就像排…

【Spring】DAO 和 Repository 的區別

DAO 和 Repository 的區別 1.概述2.DAO 模式2.1 User2.2 UserDao2.3 UserDaoImpl 3.Repository 模式3.1 UserRepository3.2 UserRepositoryImpl 4.具有多個 DAO 的 Repository 模式4.1 Tweet4.2 TweetDao 和 TweetDaoImpl4.3 增強 User 域4.4 UserRepositoryImpl 5.比較兩種模式…

ISO 19110操作要求類中的/req/operation/formal-definition詳細解釋

/req/operation/formal-definition 要求: 每個要素操作實體必須具有一個形式定義(formal definition),該定義應明確描述操作的行為和影響。 具體解釋 定義 要素操作實體(feature operation entity):這…

深度學習基準模型Mamba

深度學習基準模型Mamba Mamba(英文直譯:眼鏡蛇)具有選擇性狀態空間的線性時間序列建模,是一種先進的狀態空間模型 (SSM),專為高效處理復雜的數據密集型序列而設計。 Mamba是一種深度學習基準模型,專為處理長序列數據而設計&…