GH GambleHub

High Availability и SLA

High Availability и SLA

1) Терминдер жана бизнес менен байланыш

SLI (Service Level Indicator) - тейлөөнүн өлчөнүүчү көрсөткүчү (мисалы, 2xx/3xx ≤ T мс).
SLO (Service Level Objective) - SLI максаттуу мааниси (мисалы, "99. суроо-талаптын 95% ≤ 300 ms").
SLA (Service Level Agreement) - кардардын алдындагы келишимдик милдеттенме (бузулган учурда айыптар/кредиттер).
HA (High Availability) - 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 с

Жеткиликтүүлүк курамы

Ырааттуу чынжыр ("кызыл жол" боюнча көз карандылык): 'A _ total = Π A_i' (ар бир компонент жыйынтыкты азайтат).
Параллель актив-актив түйүндөрү: 'A _ total = 1 − Π (1 − A_i)' (резерв жыйынтыкты көбөйтөт).

3) так өлчөө үчүн эмне (туура SLI)

Колдонуучунун көз карашы: негизги операцияларды ийгиликтүү аяктоо (логин, депозит, чек) жана алардын жашыруун p99.
Саат коридору: жылма терезелер (5/30/60 мин) жана региондор боюнча бириктирүү.
Өзгөчөлүктөр: "пландаштырылган терезелер" SLOда эске алынат, ал эми SLAда - эгерде келишимде мындай деп айтылса гана.

SLI түрлөрү:
  • Жеткиликтүүлүк: ийгиликтүү жооптордун үлүшү ≤ Т.
  • Сапаты: p95/p99 latency.
  • Курамдык: "ийгиликтүү депозиттердин үлүшү ≤ 5 с".

4) Error Budget жана күйүүчү ылдамдыгы

Error Budget = `1 − SLO`. 99 үчүн. 95% айлык терезе 0 берет. 05% ката/токтоп калуу.
Burn-rate: бюджеттин керектөө ылдамдыгы (мисалы, 4 × 6 сааттын ичинде сиз күнүмдүк лимитти жейсиз дегенди билдирет).
Саясат: тез күйүү менен - релиздерди токтотуу, турукташтырууга басым жасоо, feature-freeze.

5) Архитектура HA: регионго түйүнүнөн

5. 1 түйүн/кызматы

N + 1: жок дегенде бир ашыкча реплика (Deployment ≥ 2, PDB, anti-affinity).
Ресурстарды изоляциялоо: CPU/RAM/IO лимиттери, артыкчылыктар (PriorityClass).
Graceful shutdown/drain: Кайра баштоодо суроо-талаптардын үзүлүшү жок.

5. 2 Аймак/Аймак

Multi-AZ: ар кандай зоналарда репликалар, кросс-зоналык балансы, көз карандысыз энергия/тармак.
Multi-аймак: актив-актив (кыйыныраак: маалыматтар/консистенттүүлүк) же актив-пассив (жөнөкөй: RPO жогору).
Маалыматтар: CP үчүн акча/буйрутмалар (quorum/RAFT), EC/AP үчүн кэш/терезелер.

5. 3 Тармак катмары жана периметри

L7-LB с health-checks, retry/timeout/circuit-breaking.
Global Traffic үчүн GSLB/DNS/Anycast, кыска TTL.
Egress-Control жана тышкы PSP/жөнөтүүчүлөргө туруктуу каналдар.

6) Жыгылуунун ордуна деградация

Feature kill-switch (Ficha-желектер): "кызыл жол" сактап, оор эмес өчүрүү.
Жөнөкөйлөтүлгөн жолдорго өтүү: синхрон → асинхрон/кезек, "иштетүүгө кабыл алынган".
Rate-limit/квота: Баардыгын түшүргөндөн көрө трафикти чектеген жакшы.
Stale режимдери: origin жеткиликсиз болгон учурда кэш/статикалык маалыматтарды берүү.

7) Көз карандылыкты башкаруу

Көз карандылык картасы (service map): түз/транзитивдүү, критикалык, ар бир SLO.
Алсыз звенолору: SLA жок тышкы провайдер - кэш/кезек/дубликат менен айланат.
Bulkhead-изоляция: жай каттамдар үчүн ар кандай байланыштар/квоталар.
Timeouts> Retries: кыска убакыттын өтүшү менен, максимум 1 retrai үчүн.

8) Операциялар жана өзгөртүүлөр

Change management: канарейка/көк-жашыл, SLO-гейт, автоматтык кайра аркылуу релиздер.
Пландаштырылган терезелер: стандартташтыруу - узундугу, жыштыгы, байланыш.
Окуялар: ролдору (IC/Comms/Tech/DB), runbook 'и, жөнгө салуу иш-аракеттери менен postmortems.
Коопсуздук иш-чаралары: компромиссте - "паника-режим" (read-only/токендер/айлануу/блоктоо).

9) Байкоо жана алертинг

RED-модель (Rate, Errors, Duration) ар бир жол.
SLI-дашборддор: региондо жана кардар сегментинде жеткиликтүүлүк/жашыруун.
Burn-rate Алерт: тез (1h, 14. 4 ×), жай (6h, 2 ×) - SLO үзгүлтүккө чейин сигнал.
Нускалар (Exemplars): Метрикадан trace_id жолдоруна өтүү.
Синтетика: тышкы чекиттерден үлгүлөр (периметр, төлөм флоу).

10) Сыноолорго каршылык

Game-days: АЗ/региондорду өчүрүү, DD/кэш деградациясы, тышкы провайдерлердин иштебей калышы.
Chaos инструменттери: чынжырлуу (latency/loss), kill-pods, CPU/IO ашыкча жүктөө.
DR-drills: Tier-0 системалары үчүн RTO/RPO иштеп чыгуу (караңыз "Backup & DR").

11) SLA долбоорлоо

"Жеткиликтүүлүк" аныктамасы: окуя болуп эсептелет (5xx, убакыт> T, домендик каталар).
Эсептөө терезеси: ай/чейрек; пландуу иштерди киргизүү/алып салуу.
Кредиттер/айыптар: шкала (мисалы, 99. 9–99. 99% - X%, төмөн - Y%).
Кардардын милдеттери: интеграция, акылга сыярлык чектерде ретрациялар, лимиттер.
Нотификация жана климаттын жол-жобосу: мөөнөттөрү, форматы, далил базасы (логи/метрика).
Форс-мажор: укуктук формулировка жана чек аралар.

Мисал:
  • "Жеткиликтүү API SLI "ийгиликтүү ≤ 500 ms" 99 кем эмес. календардык айда 95%. Пландаштырылган терезелер (60 мин/айга чейин, 48 саат үчүн жарыяланган) алынып салынат. Менен 99. 90–99. 95% - 5% кредит; 99. 80–99. 90% — 10%; <99. 80% — 25%.»

12) Тогуздун экономикасы

Ар бир кошумча "тогуз" чыгымдарды сызыктуу эмес өсөт (кош аймактар, кворумдар, эки провайдерлер, 24 × 7). tiering SLO колдонуу:
  • Tier-0 (акча/буйрутмалар): 99. 95–99. 99%, көп-AZ, DR даяр.
  • Tier-1 (негизги чүчүкулак): 99. 9–99. 95%, көп-AZ.
  • Tier-2 (сын эмес): 99. 5–99. 9%, инциденттерде деградацияга/токтоого жол берилет.

13) катмарларды HA үлгүлөрү

Периметри: CDN/edge, multi-CDN же GSLB, WAF, rate-limit.
Баланстоо: L7 outlier-ejection, таймауттар/ретрациялар, sticky/consistent-hash.
Колдонмолор: горизонталдык Skale, readiness/liveness, PDB, topology spread.
Маалыматтар: leader + replicas, CP үчүн quorum, L2 кэш, idempotency, PITR.
Кезектер: айнек/мультикластер, дедуп, DLQ.
Сырлар/конфигалар: GitOps, атомдук снапшоттор, rollback.

14) Анти-үлгүлөрү

SLA өлчөө куралдары жана тышкы синтетика жок.
SPOF катары бирдиктүү аймак/кластер.
Контролсуз Retra → "өзү-DDoS".
ысык жолдо узун бүтүмдөр/мутекстер.
"Оор" миграция/релиздер канарейка жана кайтаруу планы жок.
окуя учурунда runbook жана стейкхолдерлер менен байланыш жоктугу.

15) Чек-тизме киргизүү (0-60 күн)

0-15 күн

критикалык колдонуучу SLI аныктоо, Tier-0/1/2 деңгээл боюнча SLO койду.
Burn-rate алерттерди, SLO-дашбордддорду, синтетикалык периметрди текшерүүнү камтыйт.
SPOF алып салуу: ≥ 2 реплика, PDB, фронттор жана критикалык DD үчүн multi-AZ.

16-40 күн

SLO-гейтинг жана auto-rebound менен канар релиздерин киргизүү.
Көз карандылык картасы + ар бир "кызыл жол" боюнча квота/пул/таймауттар/SV.
Пландаштырылган терезелердин жана коммуникациялардын регламенти, инциденттик билдирүүлөрдүн шаблондору.

41-60 күн

Game-day: АЗ өчүрүү, тышкы провайдердин иштебей калышы, "бурст" трафиги.
Факт боюнча SLA жана кредиттерди кайра эсептөө, кардарларга отчетторду жарыялоо.
Кайра карап чыгуу "наркы, тогуз" жана тире боюнча которуу.

16) Жетилүү метрикасы

≥ 95% критикалык каттамдардын SLI/SLO жана burn-rate тобокелдиктер бар.
SLO каталары релиздерди автоматтык тоңдуруу менен коштолот (policy).
Multi-AZ жабуу Tier-0 = 100%, ийгиликтүү DR-drills ≥ 1/чейрек.
Убакыт "аныктоо → mitigation" p50 <5 мин, p95 <15 мин.
Корреляция "релизи инциденттер" - жүргүзүлөт жана кыскартылат (rollback rate ↓).
Инциденттер/кредиттер жөнүндө ачык отчет - N жумуш күнү ичинде.

17) Мисалдар жана сниппеттер

Burn-rate алерт (эрежелер идеясы):
  • Тез: "SLO 99. 95%, терезе 1 саат, burn ≥ 14. 4× → page on-call».
  • Жай: "терезе 6 саат, burn ≥ 2 × → ticket & мониторинг".
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) Корутунду

High Availability - бул кластерлер жана репликалар гана эмес, архитектуранын, процесстердин жана метриктердин макулдашылган жыйындысы: так SLI/SLO, реалдуу SLA, экономика менен "тогуздар", жыгылуунун ордуна деградация, таймаут/квота дисциплинасы, канар релиздери, үзгүлтүксүз машыгуулар жана ачык-айкын байланыш. Жеткиликтүүлүктү өлчөнүүчү жана башкарылуучу кылыңыз - ал лотерея эмес, атаандаштык артыкчылыкка айланат.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Telegram
@Gamble_GC
Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.