自動滑行和SLA平衡
自動滑行和SLA平衡
1)目標和原則
自動滑行的目的是以最低成本保持SLO(潛在性/可用性)。
SLA↔SLO↔SLA成本:不要追逐「無限」的規模--在錯誤預算和現金限制範圍內滑行。
開放式載荷模型:傳入的查詢形成「λ」強度流;該系統必須提供「N ≈ λ × W」(小定律)的平均並發性,其中「W」是平均服務時間。
2)哪些指標適合觸發器
技術性:- CPU/RAM/IO(飽和proxy)。
- 競爭(在飛行中)和遊泳池等待。
- p95/p99 application latency(實際反映SLO)。
- RPS/arrival rate(申請速度)。
- 隊列:深度、消息年齡、處理速度。
- 成功交易的份額≤ T秒(存款,支票)。
- 確認操作的時間。
建議:合並2-3個信號:例如,服務用latency+pools和workers用queue depth+age。
3)噴氣機vs謂語滑行
反應(反饋):HPA/ASG實際上增加/減少復制副本。很簡單,但是有一個缺口。
謂詞(feed-forward):日歷/過去遙測/市場活動。包括pre-warm:將N實例提高Δ t到峰值。
實際上:混合動力車是基線(最低),在事件發生之前是謂詞,是反應性的。
4)滑板政策和穩定性參數
目標跟蹤:將指標保持在目標附近(例如,CPU 60%)。
步驟scaling:超大的步驟(在尖峰上積極)。
Stabilization window/cooldown:平滑翻轉(例如,60-180秒)。
Min/Max:下限和上限;max-在DB/提供商限制內。
5)層級協調(建築級聯)
1.周邊/API網關-彈性,但具有極限和後壓。
2.服務是HPA的latency/RPS/pool wait。
3.隊列/操作員-按消息深度/年齡劃分的KEDA/ASG。
4.DB/Kesh-預先小心縮放(副本/硬化)。
規則:不要比「數據」更快地放大應用程序。
6)Little的隊列和定律(如何算作制造者)
對於輸入「λ」(msg/s)和平均處理時間「W」(s)的隊列:- 所需的並發是:「N_min ≈ λ × W」。
- 皮克/尾巴庫存:'N ≈ λ × W ×(1。2–1.5)`.