GH GambleHub

Wysoka dostępność - SLA

Wysoka dostępność - SLA

1) Warunki i związek z biznesem

SLI (Service Level Indicator) - zmierzony wskaźnik usługi (na przykład odsetek udanych żądań 2xx/3xx ≤ T ms).
SLO (Cel poziomu usług) - docelowa wartość SLI (np. "99. 95% wniosków ≤ 300 ms").
SLA (umowa o poziomie usług) - zobowiązanie umowne wobec klienta (grzywny/kredyty w przypadku naruszenia).
HA (Wysoka Dostępność) - środki architektoniczne i operacyjne, które pozwalają na wykonanie SLO/SLA.

Zasada: SLA opiera się na SLO i SLO opiera się na zaobserwowanych SLIs. Nie możesz obiecać w SLA tego, czego nie mierzysz.

2) „Dziewiątki” i matematyka dostępności

Dostępność na okres = 'work _ time/total _ time'. Poziomy odniesienia (rocznie):
DostępnośćMax. przestoje/rok
99. 0%• 3 dni 15 godzin
99. 5%• 1 dzień 20 h
99. 9%• 8 h 45 m
99. 95%• 4 h 23 m
99. 99%• 52 m 34 s
99. 999%• 5 m 15 s

Skład dostępności

Ciąg sekwencyjny (zależność od czerwonej ścieżki): 'A _ total = Α A_i' (każdy składnik zmniejsza całkowitą wartość).
Równoległe węzły aktywów: „A _ razem = 1 − (1 − A_i)” (łączne zwiększenie rezerwy).

3) Co dokładnie zmierzyć (poprawne SLI)

Widok użytkownika: pomyślne zakończenie kluczowych operacji (login, deposit, check-out) i ich opóźnienia p99.
Korytarz czasowy: kruszywo przez przesuwane okna (5/30/60 min) i region.
Wyjątki: „zaplanowane okna” są liczone w SLO, a w SLA tylko wtedy, gdy umowa tak mówi.

Typy SLI:
  • Dostępność: wskaźnik sukcesu ≤ T.
  • Jakość: p95/p99 opóźnienie.
  • Złożony: "udział udanych depozytów ≤ 5 s'.

4) Budżet błędu i wskaźnik spalania

Budżet błędu = '1 − SLO'. Za 99. 95% miesięczne okno daje 0. 05% błędów/przestojów.
Szybkość spalania: prędkość zużycia w budżecie (np. 4 × oznacza, że w ciągu 6 godzin zjesz limit dzienny).
Polityka: z szybkim spalaniem - zwolnienia zatrzymać, skupić się na stabilizacji, funkcje zamrożenia.

5) Architektura HA: węzeł do regionu

5. 1 węzeł/usługa

N + 1: co najmniej jedna nadmiarowa replika (rozmieszczenie ≥ 2, PDB, anty-powinowactwo).
Izolacja zasobów: limity CPU/RAM/IO, priorytety (klasa ).
Graceful shutdown/drain: no request break on restart.

5. 2 Strefa/region

Multi-AZ: repliki w różnych strefach, równoważenie poprzeczne, niezależne zasilanie/sieć.
Multi-region: aktywa-aktywa (trudniejsze: dane/spójność) lub aktywa-zobowiązania (prostsze: powyżej RPO).
Dane: CP dla pieniędzy/zamówień (kworum/RAFT), EC/AP dla buforów/sklepów.

5. 3 Warstwa sieciowa i obwód

Kontrole zdrowotne w zakresie L7-LB, powtarzanie/skracanie czasu/łamanie obwodów.
GSLB/DNS/Anycast dla globalnego ruchu, krótki TTL.
Sterowanie Egress i kanały odporne na uszkodzenia do zewnętrznych PSP/dostawców.

6) Degradacja zamiast spadania

Funkcja kill-switch (flagi funkcji): wyłączyć non-critical, zapisać „czerwoną ścieżkę”.
Przejście na ścieżki uproszczone: synchroniczne → asynchroniczne/kolejka, „akceptowane do przetwarzania”.
Limit stawek/kwoty: lepiej ograniczyć ruch niż zrzucić wszystkich.
Tryby Stale: dać dane pamięci podręcznej/statycznej, gdy pochodzenie jest niedostępne.

7) Zarządzanie ograniczeniami

Mapa serwisowa: bezpośrednia/transitive, krytyczność, SLO każdego.
Podatne linki: zewnętrzny dostawca bez SLA - zamienia się w pamięć podręczną/kolejkę/duplikat.
Izolacja grodziowa: różne puli połączeń/kwoty dla wolnych tras.
Timeouts> Retries: krótkie czasy, maksymalnie 1 przekaźnik dla operacji idempotent.

8) Operacje i zmiany

Zarządzanie zmianą: wydania za pośrednictwem kanarów/niebiesko-zielone, bramy SLO, automatyczne rolki.
Zaplanowane okna: standaryzacja - długość, częstotliwość, komunikacja.
Incydenty: role (IC/Comms/Tech/DB), runbook'i, pośmiertne działania naprawcze.
Zdarzenia zabezpieczające: w przypadku zagrożenia „tryb paniki” (tylko do odczytu/żetony/obrót/blokowanie).

9) Obserwowalność i ostrzeganie

Model RED (wskaźnik, błędy, czas trwania) dla każdej trasy.
Deski rozdzielcze SLI: dostępność/opóźnienie według regionu i segmentu klienta.
Alerty spalania: szybko (1h, 14. 4 ×), powolny (6h, 2 ×) - sygnał przed awarią SLO.
Przykłady-przełączniki z metryki do wyrównań trace_id.
Syntetyka: próbki z zewnętrznych punktów (obwód, przepływ płatności).

10) Badania tolerancji uszkodzeń

Dni gry: scenariusze wyłączania AZ/regionów, degradacja bazy danych/pamięci podręcznej, awaria zewnętrznych dostawców.
Narzędzia chaosu: fałdy sieciowe (opóźnienie/utrata), kill-strs, przeciążenie procesora/IO.
DR-wiertarki: rozwój RTO/RPO dla systemów Tier-0 (patrz „Kopie zapasowe i DR”).

11) Projekt SLA

Definicja „dostępności”: co liczy się jako incydent (5xx, czas> T, błędy domeny).
Okno obliczeniowe: miesiąc/kwartał; włączenie/wyłączenie planowanych działań.
Kredyty/kary: skala (np. 99. 9–99. 99% - X%, niższy - Y%).
Obowiązki klienta: integracja, przekwalifikowanie w rozsądnych granicach, ograniczenia.
Powiadomienia i procedura clymes: terminy, format, podstawa dowodowa (dzienniki/mierniki).
Siła wyższa: brzmienie i granice prawne.

Przykład (szkic):
  • "Dostępność API przez SLI "powodzenie ≤ 500 ms" wynosi co najmniej 99. 95% w miesiącu kalendarzowym. Wykluczone są zaplanowane okna (do 60 min/miesiąc ogłoszone w 48 godzin). O 99. 90–99. 95% - pożyczka 5%; 99. 80–99. 90% — 10%; <99. 80% — 25%.»

12) Gospodarka dziewięciu

Każda dodatkowa „dziewięć” nie zwiększa kosztów liniowo (podwójne regiony, kworum, duplikaty dostawców, 24 × 7). Użyj wielopoziomowego SLO:
  • Tier-0 (pieniądze/zlecenia): 99. 95–99. 99%, multi-AZ, DR gotowy.
  • Tier-1 (podstawowe cechy): 99. 9–99. 95%, multi-AZ.
  • Tier-2 (nieistotne): 99. 5–99. 9%, rozkład/zatrzymanie jest dozwolone w przypadku incydentów.

13) wzory HA według warstwy

Obwód: CDN/edge, multi-CDN lub GSLB, WAF, tempo-limit.
Równoważenie: L7 z wytryskiem z zewnątrz, timeouts/retrays, lepki/spójny-hash.
Zastosowania: skala pozioma, gotowość/los, PDB, rozprzestrzenianie się topologii.
Dane: lider + repliki, kworum dla CP, pamięci podręcznej L2, idempotencja, PITR.
Kolejki: lusterko/wielokrotność, dedup, DLQ.
Sekrety/konfiguracje: GitOps, migawki atomowe, rollback.

14) Anty-wzory

SLA bez przyrządów pomiarowych i syntetyki zewnętrznej.
Pojedyncza strefa/klaster jako SPOF.
Niekontrolowane retrasy → „self-DDoS”.
Długie transakcje/muteksy na gorącym torze.
„Ciężkie” migracje/uwolnienia bez kanarów i plan rolki.
Brak książki startowej i komunikacji z zainteresowanymi stronami w przypadku incydentu.

15) Lista kontrolna realizacji (0-60 dni)

0-15 dni

Zdefiniuj krytyczne SLIs użytkownika, ustaw SLO według Tier-0/1/2 poziomów.
Uwzględnij alerty spalania, deski rozdzielcze SLO, syntetyczne kontrole obwodów.
Usuń SPOF: ≥ 2 repliki, PDB, multi-AZ dla frontów i krytycznych baz danych.

16-40 dni

Wprowadzenie kanaryjskich wersji z SLO-gating i auto-rollback.
Mapa zależności + kwoty/pule/timeouts/PB dla każdej „czerwonej ścieżki”.
Regulacja planowanych okien i komunikatów, szablony komunikatów incydentów.

41-60 dni

Dzień gry: odłączenie AZ, awaria zewnętrznego dostawcy, „pęknięcie” ruchu.
Ponowne obliczenie SLA i rzeczywistych kredytów, publikacja raportów dla klientów.
Rewizja „kosztu” i ponowne położenie na galerii strzelaniny.

16) Wskaźniki zapadalności

≥ 95% tras krytycznych posiada ostrzeżenia o SLI/SLO i szybkości spalania.
Błędom SLO towarzyszy automatyczne zamrażanie wersji (polityka).
Zasięg multi-AZ Tier-0 = 100%, udane ćwiczenia DR ≥ 1/kwartał.
„Wykrywanie → łagodzenie” czas p50 <5 min, p95 <15 min.
Korelacja „uwalniająca” - utrzymywana i zmniejszona (szybkość wsteczna na wałek).
Publiczny raport o zdarzeniach/kredytach - w ciągu dni roboczych N.

17) Przykłady i snippety

Alerty spalania (idea reguły):
  • Szybko: "SLO 99. 95%, okno 1 h, oparzenie ≥ 14. 4 × → strona dyżuru"
  • Powolny: „okno 6 h, oparzenie ≥ 2 × → bilet & monitoring”.
Wysłannik - łamanie/odchylenie obwodu:
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
Canary z analizą SLO (Argo Rollouts, idea):
yaml analysis:
templates:
- name: slo-burn metrics:
- name: error-rate successCondition: result < 0. 005 provider: prometheus
Przykład preparatu SLI:

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

18) Wniosek

Wysoka dostępność to nie tylko klastry i repliki, ale spójny zestaw architektury, procesów i metryk: jasne SLI/SLO, realistyczne SLA, dziewiątki ekonomii, degradacja zamiast spadku, dyscyplina czasowa/kwotowa, wydania kanaryjskie, regularne ćwiczenia i przejrzysta komunikacja. Sprawić, aby przystępność była mierzalna i zarządzana - i staje się przewagą konkurencyjną, a nie loterią.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Telegram
@Gamble_GC
Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.