Ośrodki regionalne
(Sekcja: Ekosystem i sieć)
1) Dlaczego potrzebne są ośrodki regionalne
Ośrodek regionalny to lokalny klaster bramek komputerowych, magazynowych i sieciowych zoptymalizowany pod kątem:- Latency i UX: bliskość użytkownika (RTT, TTI/TTF na).
- Zgodność i miejsce zamieszkania: przechowywanie/przetwarzanie danych w jurysdykcji.
- Stabilność i wydajność: rozładunek globalnego rdzenia, praca z częściową izolacją regionu.
- Gospodarka: spadek ruchu międzyregionalnego, lokalne CDN/bufory, korzystne taryfy IX/peering.
2) Role ośrodka regionalnego
1. Krawędź/brama - warstwa wejściowa (HTTP/2/3, gRPC, WebSocket, QUIC), limit szybkości, QoS, WAF.
2. Czytnik/API - RPC, indeksy, usługi wyszukiwania, lokalne zmaterializowane widoki.
3. Obliczenie/strumień - przetwarzanie zdarzeń, agregacja, filtry zapobiegające oszustwom.
4. Płaszczyzna danych - prezentacje TSDB/kolumny, przechowywanie obiektów dla „ciepłych” danych.
5. Zgodność/KYC/KYB - lokalne integracje z dostawcami i katalogi sankcji.
6. Płatności/PSP - lokalne metody płatności i rampy włączone/wyłączone.
7. Most/Przekaźnik jest terminalem komunikatów węzłowych z lokalnym buforem finalizacyjnym.
8. Obserwowalność - mierniki/kłody/szlaki, próbki syntetyczne.
9. Zarządzanie/dostęp - katalogi ról, kluczy i limitów dla uczestników regionalnych.
3) Topologie wdrażania
Hub-and-Speak: centralny „master hub” + regionalne tarły z częściową autonomią.
Active-Active (Multi-Primary): symetryczne działanie kilku węzłów z bezproblemową replikacją (CRDT/logi wiodące).
Active-Passive: gorąca rezerwa z okresową replikacją i przewróceniem DR.
Krawędź-wielopoziomowy: cienkie węzły krawędziowe (CDN, WebSocket wentylator out) → gruby ośrodek regionalny.
Wybór zależy od wymogów dotyczących finalizacji/spójności, kosztów kanałów i ograniczeń regulacyjnych.
4) Geomarszrutyzacja i polityka rezydencji
GeoDNS/Anycast + Latency-Aware LB: Wysyłamy wnioski do najbliższego zdrowego ośrodka.
Routing jurysdykcji: dane podmiotów (UE/UK/TR itp.) pozostają w odpowiednim węźle; transfery międzyregionalne - tylko na białych listach.
Traffic SOR (Smart Order Routing) dla regionów: uwzględnia RTT, koszty kanału, flagi zgodności, obciążenie kwotowe i SLO.
Fail-in-Place: Gdy zewnętrzne linki są zdegradowane, centrum nadal obsługuje żądania „sfinalizowane tylko” i operacje lokalne.
5) Dane: katalogi, replikacje, klasy pamięci masowej
Klasy danych:- P0 - płatności/most/identyfikacja (ścisły pobyt, synchronizacja „sygnałów” tylko w agregatach/hashes).
- P1 - zdarzenia i agregaty produktu (widok lokalny + eksport okresowy).
- P2 - debug/logs (agresywna kompresja, długa retencja w regionie).
- Wydarzenia - logowanie-wysyłka z zamówieniem wewnątrz strony (klucze regionalne).
- Przechowywanie - asynchroniczne kopie zapasowe MMR/CRDT lub migawki.
- Rezydencja: polityka DLP/PII, tokenizacja, oddzielne klucze szyfrowania na region.
6) Wydajność i buforowanie
Pamięć podręczna: pamięć podręczna krawędzi (short TTL), odczytywanie na API, pamięć podręczna ujemna.
Ciepłe dane: ostatnie bloki/partie N, gorące indeksy na popularnych metodach.
Bufory DA/Batch dla L2/bridges: lokalna kolejka publikacji z potwierdzeniami.
Hardware-Adjusted TPS: $/TPS i $/RPS zdolności planowania w oparciu o ceny regionalne.
7) QoS, kolejki i ciśnienie wsteczne
zajęcia P0/P1/P2 na poziomie autobusu i bramy; oddzielne kolejki i kwoty.
Podział: klucz tematyczny „lokatora regionalnego” dla przewidywanej przepustowości.
DLQ: kwarantanna „trujących” wiadomości, retrai z jitter.
Kontrola wstępu: ograniczenie „drogich” RPC (według zakresu, filtrów, limitów).
8) Regionalny węzeł SLI/SLO
SLI:- p95 Opóźnienie (krawędź/API), Wskaźnik sukcesu, Kolejka-Lag p95, Świeżość prezentacje, Finalność p95 (most/przekaźniki), Geo-Hit Ratio (udział żądań obsługiwanych w regionie), Zgodność Pass%.
- Krawędź/API p95 ≤ 350-450 м, dostępność ≥ 99. 95%.
- świeżość (P1) p95 ≤ 3 min; Kolejka-Lag P0 p95 ≤ 2 μ.
- Współczynnik geosiatki ≥ 85% (bez chmielu międzyregionalnego).
- DR RTO ≤ 15 min, RPO ≤ 5 min dla P0.
9) Obserwowalność i deski rozdzielcze
Ops Core: opóźnienie/błąd/kolejka-lag/przepustowość według klasy QoS.
Geo Widok: RTT heatmap, Geo-Hit Ratio, ruch międzyregionalny.
Zgodność: rezydencja, sankcje, dzienniki eksportowe.
Most/DA: finalizacja p95, wyzwanie/reorg, awarie publikacji.
Pojemność i koszt: TPS_per_$, CTS/1k zapytania, Wykorzystanie%.
10) DR i odporność
Kanały kopii zapasowych: niezależny IX/dostawcy, szyfrowane tunele komunikacyjne między węzłami.
Tryb odizolowany: „tylko sfinalizowane”, API degradacji, rachunki lokalne, a następnie pogodzić.
Regularne ćwiczenia: zamknięcie transatlantyckie, utrata DA/dowódców, „jitter/straty” na granicach.
11) Ekonomia i planowanie zdolności
CTS (Cost-to-Serve) na 1k ops: kanały + obliczenia + przechowywanie + licencje.
TPS_per_$: zrównoważona przepustowość za $1 infrastruktury.
Optymalizacja Peering/IX: lokalne punkty rówieśnicze, ogłoszenia przedrostkowe, kompresja i masowanie.
Model poziomu: T1 (min-zestaw usług), T2 (analiza pełnokrwiowa), T3 (pełny stos + DA/most).
12) Konfiguracje referencyjne
12. 1 Polityka routingu (YAML)
yaml routing:
geodns:
regions: [eu, uk, tr, la, apac, na]
policies:
prefer_local: true fallback_chain: [nearest_healthy, master_hub]
compliance:
residency:
eu: ["eu"]
uk: ["uk"]
tr: ["tr"]
export_whitelist:
eu: ["anonymized_metrics","hash_anchors"]
slo_gates:
p0_latency_p95_ms: 400 queue_lag_p95_ms: 2000
12. 2 K8s Brama krawędzi + HPA
yaml apiVersion: apps/v1 kind: Deployment metadata: { name: edge-gw, labels: { region: eu } }
spec:
replicas: 4 template:
spec:
containers:
- name: gw image: org/edge-gw:2. 7. 0 ports: [{ containerPort: 443 }]
env:
- { name: QOS_CLASSES, value: "P0,P1,P2" }
- { name: DENY_HEAVY_RANGE, value: "eth_getLogs>5000" }
apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: { name: edge-gw-hpa }
spec:
minReplicas: 4 maxReplicas: 24 metrics:
- type: Pods pods:
metric: { name: request_latency_p95_ms }
target: { type: AverageValue, averageValue: 350m }
12. 3 Kafka: podział regionalny/namiotowy
yaml topic: "events. p0"
partitions: 96 config:
min. insync. replicas: 2 cleanup. policy: delete compression. type: zstd message. timestamp. type: CreateTime
12. 4 Polityka w zakresie rezydencji i wywozu
yaml data_policy:
pii: { tokenized: true, cross_region_export: "deny" }
exports:
anonymized_metrics: { allowed: ["eu","uk","na"], schedule: "5m" }
hash_anchors: { allowed: ["eu","uk","na","apac"], cadence: "15m" }
13) Schematy danych i zapytania
Katalog centrów i linków
sql
CREATE TABLE hubs (
hub_id TEXT PRIMARY KEY,
region TEXT, tier SMALLINT, status TEXT,
rtt_ms INT, cost_per_1k_ops NUMERIC,
created_at TIMESTAMPTZ
);
CREATE TABLE interlinks (
src_hub TEXT, dst_hub TEXT,
capacity_mbps INT, cost_per_gb NUMERIC,
encrypted BOOLEAN, health TEXT,
PRIMARY KEY (src_hub, dst_hub)
);
Współczynnik geo-hitu - świeżość
sql
SELECT region,
100. 0 SUM(CASE WHEN served_in_region THEN 1 ELSE 0 END)/COUNT() AS geo_hit_pct,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY freshness_s) AS freshness_p95
FROM req_stats
WHERE ts >= now() - INTERVAL '24 hours'
GROUP BY region;
TPS_per_$
sql
SELECT hub_id,
AVG(tps_sustained) / NULLIF(AVG(cost_usd_hour),0) AS tps_per_usd
FROM hub_perf
WHERE ts >= now() - INTERVAL '7 days'
GROUP BY hub_id;
14) Regulamin operacyjny
Codziennie: raport SLO (opóźnienie/kolejka-lag/świeżość), kontrola eksportu/pobytu, status twarzy międzypodstawowych.
Tygodniowo: kalibracja kwot/QoS i GeoDNS, ponowne obliczenie CTS/TPS_per_$, przegląd buforów i gorących indeksów.
Miesięcznie: ćwiczenia DR (tryb izolowany, przełączanie kanałów), kontrola DA/mostu.
Przed zwolnieniem: rollout kanaryjski według jednego węzła/regionu, bram SLO i planu rollback.
15) Incydenty Playbook
A. Upadek kanału międzyregionalnego
1. Przełącz na czuwanie IX, włącz kompresję/partie;
2. Piasta w trybie „tylko do sfinalizowania”;
3. Kolejka eksportu - do bufora, z limitem;
4. Komunikacja z uczestnikami, pośmiertnie.
B. Lokalna degradacja API p95
1. Priorytet P0, włącz P2-throttle;
2. Zwiększenie krawędzi/repliki API;
3. Włącz pamięć podręczną tylko dla gorących metod;
4. Ciężka diagnostyka zapytań, zasady zaprzeczania, jeśli to konieczne.
C. Naruszenie prawa pobytu
1. bezpośredni międzyregionalny blok eksportowy;
2. Przeróbka/eksport odwrotnie;
3. Zgłoszenie IOD/Zgodność;
4. Aktualizacja zasad i testów.
D. szczyty awarii reorg/DA
1. Zwiększ spór K/Window;
2. Włącz „opóźnione zakończenie”;
3. Powiadamianie konsumentów;
4. Sprawozdania uzupełniające.
E. Nierówne załadunek piasty
1. Ponowne dostrajanie GeoDNS/Latency-LB;
2. Saldo kontyngentu/ceny;
3. Kształtowanie ruchu dla podmiotów powiązanych/źródeł.
16) Lista kontrolna wdrażania
1. Wybierz regiony/jurysdykcje i docelowe SLO.
2. Topologia projektowania (Hub-Spoke lub Active-Active), kanały/IX.
3. Role Post: Edge/API/Compute/Data/Bridge/Compliance.
4. Konfiguruj zasady rezydencji, katalogów i eksportu.
5. Włącz QoS, kolejki, bufory i backpressure.
6. Zwiększyć obserwowalność i Geo/Zgodność/Perf/Deski rozdzielcze kosztów.
7. Skonfiguruj DR (RTO/RPO), wiertarki i tryb izolowany.
8. Wprowadź wskaźniki ekonomiczne (CTS, TPS_per_$) i budżet.
17) Słownik
Geo-Hit Ratio - udział wniosków obsługiwanych przez „jego” centrum.
RPO/RTO - cele dotyczące utraty/odzyskiwania danych.
Hub-and-Spoke to centralny węzeł z obwodowymi skupiskami.
CRDT - struktury danych do replikacji wolnych od konfliktów.
CTS na 1k ops - koszt obsługi 1000 operacji.
TPS_per_$ - przepustowość za dolara infrastruktury.
Linia dolna: centra regionalne przekształcają globalną sieć w zestaw lokalnie zoptymalizowanych, zgodnych i odpornych domen. Dzięki jasnym procedurom SLO, rezydencji, QoS i DR zmniejszają opóźnienia i koszty, zwiększają niezawodność i umożliwiają skalowanie ekosystemu bez utraty możliwości zarządzania.