Ostatnia aktualizacja:
Fedor Korolev
Zapewnienie tolerancji błędów na platformie zakładów
Click to expand / collapse

W zakładach stabilność to wszystko. Utrata połączenia, spadek API lub opóźnienie w obliczaniu zakładu na żywo może prowadzić do strat finansowych, utraty zaufania gracza i ryzyka reputacyjnego. Dlatego niezawodne platformy wdrażają wielopoziomowy system tolerancji uszkodzeń, który działa nawet w przypadku awarii poszczególnych komponentów.


Czym jest tolerancja błędów

Tolerancja błędów to zdolność systemu do dalszego działania w przypadku częściowych awarii:
  • Bez przerwy w przypadku serwera, bazy danych, awarii API
  • Automatyczne przełączanie na zbędne węzły
  • Zlokalizuj problem bez upuszczania całej platformy
  • Szybkie odzyskiwanie bez ręcznej interwencji

Technologie i podejścia

MetodaCel i skutek
Balancer obciążeniaRozkład ruchu między kilkoma węzłami
Replikacja bazy danychPodstawowa ochrona przed utratą pamięci
Architektura mikroserviceIzolacja komponentów problemowych
Kontrola stanu zdrowia i automatyczne ponowne uruchomienieMonitorowanie usług i automatyczne odzyskiwanie
GEO-DRWsparcie dla pracy z różnych regionów świata
Aktywne i aktywne klastry pasywneBrak przestojów w przypadku awarii jednego z centrów

Infrastruktura do tolerancji uszkodzeń

Kubernetes (K8s) - samouzdrawiające się skupiska

Redis Sentinel/Cluster - bufory odporne na usterki

PostgreSQL z replikacją - podstawowa i hot backup database

Kafka z wieloma brokerami - niezawodna dostawa wydarzeń

Cloudflare/CDN - Ochrona obwodowa (DDoS, DNS, geokalibracja)


Przykłady sytuacji

ScenariuszJak działa system
Jeden z serwerów API się rozbijaRuch błyskawicznie przechodzi do innego przez LB
Brak Internetu w regionieGEO-DNS przeniesie graczy do najbliższego centrum danych
Błąd w module obliczeniowymReszta platformy nadal działa
Uszkodzenie DBOdzyskiwanie z repliki bez utraty danych

Wynik platformy

Poprawa niezawodności usług

Maksymalny czas uptime: 99. 99% i więcej

Ochrona dochodów przed awariami technicznymi

Zaufanie partnera i gracza

Zmniejszone połączenia wsparcia


Tolerancja błędów to nie tylko "nie upadek", ale "zawsze praca. "W środowisku zakładów na żywo o wysokim obciążeniu ważne jest, aby być przygotowanym na każdą awarię: od przeciążenia do awarii węzła. Im bardziej niezawodny system jest zbudowany, tym spokojniejszy jest biznes i gracze.

Popularne tematy


Główne tematy