GH GambleHub

High Availability и SLA

High Availability и SLA

1)术语与业务关系

SLI(服务级别指标)是可测量的服务指标(请参阅2xx/3xx ≤ T ms成功查询的百分比)。
SLO(服务级别目标)是SLI的目标值(例如。"99。95%的请求≤ 300毫秒)。
SLA(服务级别协议)-对客户的合同义务(违规时的罚款/贷款)。
HA(高可用性)是允许执行SLO/SLA的体系结构和操作措施。

原理:SLA依赖于SLO,SLO依赖于观察到的SLI。你不能在SLA中承诺不衡量什么。

2)"九"和无障碍数学

期内可用性="时间_工作/一般_时间"。地标(年份):
可用性马克斯。简单/年份
99.0%≈ 3天15时
99.5%≈ 1天20小时
99.9%≈ 8小时45米
99.95%≈ 4小时23米
99.99%≈ 52米34秒
99.999%≈ 5分15分c

无障碍的构成

串行链("红色路径依赖性"):'A_total=Π A_i'(每个组件都会减少总和)。
平行资产节点:"A_total=1 − Π(1 − A_i)"(储备金增加总额)。

3)究竟要测量什么(正确的SLI)

用户视图:成功完成关键操作(登录、存款、支票)及其潜在性p99。
一小时走廊:按滑动窗口(5/30/60分钟)和区域汇总。
例外:SLO中考虑了"计划窗口",SLA中仅考虑了合同中规定的窗口。

SLI类型:
  • 可用性:成功答复率≤ T。
  • 质量:p95/p99 latency。
  • 组成:"成功存款的比例≤ 5 c。"

4)错误预算和燃烧速度

Error Budget = `1 − SLO`.对于99。95%的月度窗口为0。05%的错误/停机。
Burn-rate:预算支出的速度(例如4 ×意味着你在6小时内吃了白天的限制)。
政策:快速燃烧-停止发布,专注于稳定,功能冻结。

5) HA体系结构: 从节点到区域

5.1个节点/服务

N+1:至少一个冗余副本(Dployment ≥ 2, PDB, anti-affinity)。
资源隔离:CPU/RAM/IO限制,优先级(PriorityClass)。
Graceful shutdown/Drain:在重新启动时没有查询悬崖。

5.2个区域/区域

Multi-AZ:不同区域的复制副本,跨区域平衡,独立电源/网络。
多区域:资产资产(更难:数据/一致性)或资产资产(更简单:高于RPO)。
数据:现金/订单的CP(法定人数/RAFT),缓存/店面的EC/AP。

5.3网络层和外围

L7-LB с health-checks, retry/timeout/circuit-breaking.

GSLB/DNS/Anycast用于全球流量,TTL短。
到外部PSP/提供商的 Egress控制和容错通道。

6)降解而不是掉落

Feature kill-switch(幻灯片标志):关闭非关键,保留"红色路径"。
切换到简化路径:同步→ asinchron/队列,"被接受处理"。
利率限制/配额:限制流量比夺走所有人更好。
Stale模式:在原点不可用时提供缓存/静态数据。

7)依存关系管理

依存映射(服务地图):直接/传递,临界,每个SLO。
弱势环节:没有SLA的外部提供商-包裹缓存/队列/复制。
Bulkhead隔离:慢路的不同连接/配额池。
Timeouts> Retries:短时间,最多1个静止操作的静止。

8)操作和更改

更改管理:通过金丝雀/蓝绿色、SLO门、自动回滚发布。
计划窗口:标准化-长度、周期性、通信。
事件:角色(IC/Comms/Tech/DB),runbook'和,具有纠正行动的验尸。
证券活动:在损害时-"恐慌模式"(只阅读/代币/轮换/锁定)。

9)可观察性和异位

每个路由的RED模型(Rate,Errors,Duration)。
SLI-dashbords:区域和客户细分市场的可用性/潜在性。
燃烧率差:快速(1h, 14.4 ×),缓慢(6h,2 ×)-SLO崩溃前的信号。
实例(Exemplars)-通过trace_id从度量转换为轨迹。
合成:来自外部点(周边,支付流)的样品。

10)容错测试

游戏日:AZ/区域断开连接、 DB/缓存降级、外部提供商故障的场景。
Chaos工具:网络资料库(latency/loss), kill-pods, CPU/IO过热。
DR-drills:为Tier-0系统运行RTO/RPO(请参阅"Backaps and DR")。

11) SLA设计

"可用性"定义:什么被认为是事件(5xx, time,> T,域错误)。
结算窗口:月/季度;包括或排除计划工作。
学分/罚款:比率(见99。9–99.99%为X%,低于Y%)。

客户责任: 集成,在合理范围内转发,限制.

符号化和点击过程:时机,格式,证据基础(逻辑/度量)。
不可抗力:法律措辞和界限。

示例(草图):
  • "SLI API的可用性"成功≤ 500毫秒不超过99。95%的日历月。计划窗口(在48小时内宣布最多60分钟/月)不包括在内。99岁。90–99.95%的贷款为5%;99.80–99.90% — 10%;<99.80% — 25%.»

12)九经济学

每个额外的"九"都不会线性增长成本(双重区域,法定人数,提供商配对,24 × 7)。应用SLO tiering:
  • Tier-0(金钱/订单):99。95–99.99%,多个AZ,DR准备就绪。
  • Tier-1(主要fichi):99。9–99.95%,多个AZ。
  • Tier-2(非关键):99。5–99.9%,事件允许退化/停止。

13)按层分列的HA模式

外围:CDN/edge,multi-CDN或GSLB,WAF,限位。

平衡: L7与outlier ejection, taymouts/retrai, sticky/consistent-hash.

应用: 水平滑板,准备/生活,PDB, topology spread.

数据:leader+replicas, quorum for CP, L2缓存,idempotency, PITR。
队列:镜像/multiclaster、dedup、DLQ。
秘密/骗局:GitOps,核弹头,滚动。

14)反模式

SLA没有测量工具和外部合成材料。
单个区域/群集为SPOF。
失控的后退→ "sami-DDoS"。
热路上的长交易/突变体。
"繁重"的迁移/发行没有金丝雀和回滚计划。
事件中缺乏跑步簿和与牛排者的交流。

15)实施清单(0-60天)

0-15天

定义关键的自定义SLI,按Tier-0/1/2级别设置SLO。
包括burn-rate alerta、SLO-dashbords、合成周长检查。
删除SPOF:复制副本≥2,PDB,用于前端和关键DB的multi-AZ。

16-40天

引入带有SLO门和自动回滚的金丝雀版本。
每个"红色路径"的依赖图+配额/池/taymout/SV。
计划窗口和通信法规,事件消息模板。

41-60天

游戏日:AZ关闭,外部提供商失败,"burst"流量。
重新计算SLA和信用,向客户发布报告。
修订"九↔成本"和横杆。

16)成熟度量

≥ 95%的关键路线具有SLI/SLO和burn-rate alerta。
SLO错误伴随着自动冻结发布(策略)。
Multi-AZ覆盖Tier-0=100%,成功的DR-drills ≥ 1/季度。
"检测→多联"时间p50 <5分钟,p95 <15分钟。
"发布↔事件"相关性-保持和缩写(rollback rate↓)。
公共事件/贷款报告-在N工作日内。

17)示例和嗅觉

Burn-rate alerta(规则的想法):
  • 快速:"SLO 99.95%,窗口1小时,burn ≥ 14。4× → page on-call».
  • 缓慢:"窗口6小时,烧伤≥ 2 × →门票和监控。"

Envoy — circuit breaking/outlier:

yaml circuit_breakers:
thresholds:
- max_connections: 200 max_pending_requests: 100 max_requests: 1000 max_retries: 1 outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50
带有SLO分析的金丝雀(Argo Rollouts,想法):
yaml analysis:
templates:
- name: slo-burn metrics:
- name: error-rate successCondition: result < 0. 005 provider: prometheus
SLI措辞的示例:

SLI: fraction_of_good_requests = good(HTTP 2xx/3xx ≤ 500ms) / all(requests)
SLO: ≥ 99. 95% per calendar month, per region

18)结论

高可用性不仅是集群和复制品,而且是一套连贯的体系结构,流程和指标:明确的SLI/SLO,现实的SLA,具有经济性的"九个",降级而不是下降,计时/配额纪律,金丝雀发布,定期演习和透明沟通。使可用性可测量和可管理-它将成为竞争优势而不是彩票。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

Telegram
@Gamble_GC
开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。