學習
課程
共學
證照
測驗
104 TechCon 工程年會
Concurrent computing、API、系統開發、資訊系統開發知識(107/8/1停考)、104工程年會、軟體工程、104techcon、軟體程式設計、併行管理系統、軟體工程系統開發、BeATOL
104 TechCon 工程年會
關注
一零四邦尼學習
2022/08/16
使用併行管理系統避免壅塞造成的服務中斷-呂學洲
精彩影片回顧:
https://youtu.be/OfeacfkSvB0?t=1
現行在很多高通量的服務(例如 APIm)之中會使用一些限流(熔斷)機制,例如記錄每個 IP 能打進這個服務的次數或限制同時能夠擁有的連線數。但是這會造成幾個問題:
1. 應用程式避免被熔斷通常都會高估使用量,例如高峰每秒只會打 10 個請求,但卻申請 15 個的 quota
2. 服務為了滿足各個 client 在限制下的流量通常都會拉高承載力(capacity),例如 client A 和 client B 限制每秒 10 個請求,這時這個服務就要有約每秒 25 個請求的承載力,就會造成大部分時間資源的浪費
3. 當有合理的流量上升,會阻擋到非必要限制的使用者,例如某服務突然變得很有名,限流的設定卻是舊的
4. 以 APIm 為例,上游承載能力是會動態浮動的,所以原本限流 20 可以避免上游服務崩壞,但是某天上游服務突然變得很慢,每秒 5 個請求就會讓他崩壞,限流的保護機制如同虛設
併行管理系統就是要解決這些問題,這些東西並不新,在 TCP 設計時就有很多這種機制,包括 AIMD、Vegas、Gradient 等等,現行的服務都應該要有這些東西,但我們卻很少意識到這件事。
這次分享主要會實際展示「適應併行處理」在處理這些東西時會有什麼樣的結果,我們在
https://github.com/evan361425/playground-adaptive-concurrency/tree/master
放一些原始碼,並提供給參與者。
觀看簡報:
https://docs.google.com/presentation/d/e/2PACX-1vRr3FsEv3WtnnAb0p4AGek2XH-acFIbv-vvURNvwhZ8EZKDlOPNN9FuVPE36d3egw/pub?start=false&loop=false&delayms=3000
本文與連結相關資源非經取得作者授權,不得任意轉載或公開傳輸
API
Concurrent computing
系統開發
資訊系統開發知識(107/8/1停考)
軟體工程
軟體工程系統開發
軟體程式設計
104工程年會
104techcon
併行管理系統
BeATOL
API
Concurrent computing
系統開發
資訊系統開發知識(107/8/1停考)
軟體工程
軟體工程系統開發
軟體程式設計
104工程年會
104techcon
併行管理系統
BeATOL
7
0
339
1
拍手
留言
分享
分享到:
Line
Facebook
複製連結
取消
收藏
本篇內容來自以下教室
104 TechCon 工程年會
104 TechCon工程年會 為工程社群年度盛會,由 104 ETC (工程技術委員會)籌辦,2022 為 104 TechCon元年。 活動旨在聚集各領域工程交流彼此經驗心得、分享最新技術發展、 並親身體驗社群獨有的熱情,徵求充滿影響力與感染力的你, 一起互相分享成果,讓我們技術更上一層樓。 更多消息請到網站: 2022年:https://techcon.104.com.tw/ 2023年:https://techcon.104.com.tw/2023
關注
推薦學習
看更多課程
線上
限定優惠
M365 Copilot 微軟AI高效工作流|重塑AI工作新型態 效率提升50%UP
實體
限定優惠
Linux Shell Script 程式設計與管理實務
線上
限定優惠
AI助理GitHub Copilot | 提升前端開發效率