مناطق دسترسی و مناطق متقاطع
1) شرایط و اهداف
منطقه دسترسی (AZ) - یک مرکز داده جدا شده در منطقه (ظرفیت/شبکه خود).
منطقه - گروه AZ با جغرافیای مشترک و تاخیر.
- RTO (Recovery Time Objective): مدت زمانی که نمی توانید یک سرویس را ارائه دهید.
- RPO (Recovery Point Objective): مقدار داده ای که می توان از دست داد.
معمولا: در منطقه هدف ما در RTO 5-15 دقیقه، RPO 0-1 دقیقه، بین منطقه ای - RTO 1 ساعت، RPO 5 دقیقه (بسته به محصول و بودجه).
2) مدل های معماری
2. 1 در داخل منطقه (چند AZ)
لایه بدون حالت: توزیع شده بیش از AZ ؛ تعادل - L4/L7 با بررسی های بهداشتی.
لایه Stateful: خوشه هایی با تکرار همزمان (یا حد نصاب) بین AZ.
کش/صف: خوشه بندی شده، با AZ sharding و automatic failover.
2. 2 بین منطقه ای (چند منطقه ای)
فعال فعال: هر دو منطقه ترافیک دریافت می کنند.
حداقل تاخیر کاربر، بازیابی سریع، سازگاری − و پیچیدگی درگیری
فعال منفعل (گرم/گرم): منطقه اصلی خدمت می کند، دوم - در پیش بینی گرم/گرم.
داده های ساده تر، ارزان تر ؛ − RTO بالاتر.
Pilot-Light: حداقل «نور» (داده ها هماهنگ می شوند، محاسبات در صورت تصادف انجام می شود).
DR-backup: فقط پشتیبان گیری و سناریوی بازیابی (ارزان ترین و کمترین).
3) اطلاعات و سازگاری
3. 1 پایگاه داده ها
حد نصاب همزمان (RPO≈0، ↑latentnost): PostgreSQL با standbys همزمان در منطقه ؛ پایگاه داده های توزیع شده (CockroachDB/Cassandra) با quorums محلی (Quorum محلی) و تعادل AZ.
ناهمگام بین منطقه ای (RPO> 0، ↓latentnost): تکرار منطقی Postgres/MySQL ؛ «جداول جهانی» в KV/NoSQL ؛ CDC → Strim به یک منطقه دیگر.
ورودی های متضاد: برای فعال فعال، از CRDT/versioning یا leader-region در هر کلید/مستاجر استفاده کنید.
3. 2 منبع یابی رویداد و صف
صف/جریان (Kafka/Pulsar/SQS-like): موضوعات آینه یا تکرار کننده های متقابل منطقه ای ؛ کلید - idempotency مصرف کننده و کلید بن بست.
Webhooks و شرکای خارجی: امضا، پخش، فروشگاه افست/بازرسی در هر دو منطقه.
3. 3 نقدی
حافظههای نهان محلی در هر ناحیه) نوشتن از طریق/بازآوری پیش (؛ حافظه نهان مشترک جهانی فقط برای KV های بادوام (با نام مستعار تقسیم مغز). غیرفعال کردن رویداد (pub/sub)، TTL - محافظه کار.
4) ترافیک جهانی و حلقه شبکه
GSLB/DNS: مسیریابی مبتنی بر زمین/تأخیر، بررسی سلامت، وزن ترافیک برای قناری ها و تصادفات.
Anycast/Edge: ما ورودی را به کاربر نزدیک تر می کنیم، سپس به نزدیکترین منطقه سالم.
سیاست های شکست خورده: استخرهای بالادست منطقه ای، ممنوعیت 0-RTT در مسیرهای بحرانی، زمان کم برای وابستگی های بین منطقه ای.
سیاست های Retray: عقب نشینی نمایشی + jitter، محدودیت کل مهلت، PUT/POST idempotent با «Idempotency-Key».
5) Kubernetes و مش سرویس
5. 1 چند AZ در یک خوشه
توپولوژی گسترش محدودیت по توپولوژی. کوبرنتیز. IO/منطقه '.
PodDisruptionBudget کلاس های اولویت и.
NodeAffinity/Anti-Affinity - اجتناب از محل سکونت ماکت.
مناطق ذخیره سازی: PV با تکرار AZ یا سیستم های حجم توزیع شده.
5. 2 چند منطقه (چند خوشه)
خوشه های جداگانه در هر منطقه + GitOps (Argo CD/Flux) برای هماهنگ سازی اعلانی.
سرویس مش (Istio/Linkerd): تعادل بار محلی و شکست بین مناطق ؛ mTLS، هویت مشترک.
تغییر ترافیک: به تدریج 1٪ → 10٪ → 50٪ به یک منطقه جدید ؛ دسته «قرار دادن 0٪» بلافاصله.
6) انتخاب RTO/RPO و اتصال الگو
7) تست تحمل خطا (DR)
GameDays: سه ماهه در مقیاس کامل «منطقه/AZ خارج» سناریو.
تزریق هرج و مرج: تاخیر شبکه، تلفات بسته، قطع اتصال کارگزار/پایه در یک AZ.
RTO/RPO واقعی: اندازه گیری زمان سوئیچ و از دست دادن داده ها، انتشار گزارش.
Runbooks: دستورالعمل های گام به گام و «دکمه های قرمز» برای تعویض (وزن DNS، پرچم های ویژگی، غیرفعال کردن ویژگی های سنگین).
8) قابلیت مشاهده و مدیریت
برش های متریک بر اساس منطقه/AZ/مستاجر ؛ تاخیر مسیر p95/p99.
SLO و بودجه خطا در هر منطقه و در هر استخر جهانی.
هشدارها: تخریب یک منطقه نباید «مربا» صفحه بندی اگر دوم حمل ترافیک به طور معمول.
Трейсы: منطقه چمدان، «az»، «failover = true/false» ؛ گزارش «چند درخواست به شکست انجامید».
9) ایمنی و انطباق
اقامت داده: اتصال اطلاعات PII/پرداخت به مناطق خاص (صلاحیت).
اسرار: KMS/HSM هوشمند با کلید های منطقه ای و چرخش ؛ مواد کلیدی جداگانه در هر منطقه.
mTLS و اعتماد متقابل بین مناطق ؛ محدود کردن خروج بین منطقه ای توسط ACL.
10) هزینه و پس انداز
کش لبه + SWR - کاهش در خروج بین منطقه ای.
کلاس های ذخیره سازی مختلف (گرم/گرم/سرد) و متریک/سیاهههای مربوط downsampling.
پروفیل های خودکار مقیاس بر اساس منطقه (حداقل شب).
هویت تصویر + پیکربندی متمایز از طریق متغیرهای محیطی/مقادیر هلم.
11) ضد گلوله
یک استاد دولتی در هر سیستم ؛ تقسیم مغز بدون حد نصاب.
نوشتن همزمان بین منطقه ای به یک RDBMS واحد (تاخیر غیر قابل تحمل).
کش جهانی با سازگاری قوی بدون CRDT → تراکم و فانتوم.
Retrays without idempotency → معاملات/پرداختهای تکراری.
یک SLO «جهانی» - شکست یک منطقه را پنهان می کند.
هیچ تمرین منظم DR وجود ندارد - برنامه ها در جنگ غیر قابل استفاده هستند.
12) مشخصات iGaming/امور مالی
ارائه دهندگان پرداخت/CCP ها به صورت منطقه ای انتخاب می شوند ؛ آیا مسیریابی هوشمند بیش از PSP با سیگنال های بهداشتی، شکست به پشتیبان گیری.
صلاحیت: برگزاری PII و سیاهههای مربوط به معاملات در کشور/منطقه ؛ متقابل منطقه - aggregates/فقط ناشناس.
محدودیت ها/بازی مسئولانه: قوانین و ساعت های محلی - بین مناطق «سر و صدا» را تکرار نکنید، از انطباق رویداد استفاده کنید.
پاداش/تعادل: کلید idempotent و «منبع حقیقت» در هر مستاجر/منطقه ؛ آشتی شغل پس از دکتر
13) دستور العمل های کوچک (شبه ارقام)
13. 1 نماینده آگاه از محل + شکست
yaml load_assignment:
endpoints:
- locality: { region: eu, zone: eu-a }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: eu, zone: eu-b }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: us, zone: us-a } # failover target lb_endpoints: [{ endpoint: { address:... } }]
common_lb_config:
zone_aware_lb_config: {}
locality_weighted_lb_config: {}
outlier_detection:
consecutive_5xx: 5 base_ejection_time: 30s
13. 2 گسترش توپولوژی Kubernetes
yaml spec:
topologySpreadConstraints:
- maxSkew: 1 topologyKey: topology. kubernetes. io/zone whenUnsatisfiable: DoNotSchedule labelSelector: { matchLabels: { app: api } }
13. 3 DNS وزن Feilover (ایده)
'weight (eu) = 90', 'weight (us) = 10' → when degraded 'eu' automatically شیفت به 'ما'. بررسی های بهداشتی و کاهش TTL (اما نه خیلی تهاجمی، 30-120 ثانیه).
14) تولید لیست آمادگی
- RTO/RPO در هر سرویس تعریف شده و با کسب و کار موافقت کرد.
- بدون وضعیت توزیع شده در سراسر AZ ؛ stateful دارای حد نصاب/تکرار و یک مدل سازگاری واضح است.
- تکرار بین منطقه ای (asynchron/CDC)، آزمون برخورد/deduplication.
- GSLB/Anycast پیکربندی شده، بررسی سلامت و وزن خودکار است.
- Kubernetes: توپولوژی گسترش، PDB، ضد وابستگی ؛ GitOps چند خوشه ای
- Retrai با لرزش، idempotency در نوشتن ؛ مدت زمان کوتاه بین منطقه ای.
- تمرینات DR، اندازه گیری RTO واقعی/RPO ؛ Runbook در حال حاضر
- قابل مشاهده بودن بر اساس منطقه/AZ، SLO و میزان سوختگی در بخش ها، هشدارها عملکرد عادی را «مربا» نمی کنند.
- اقامت داده ها/اسرار/کلید مطابق با الزامات قانونی است.
- اقتصاد: خروج، ذخیره سازی، پروفایل های autoscale تحت کنترل است.
15) TL ؛ دکتر متخصص
ساخت چند AZ به عنوان یک لایه پایه، چند منطقه به عنوان بیمه کسب و کار. یک الگوی (فعال فعال/آماده به کار) را برای RTO/RPO و هزینه انتخاب کنید، داده ها را آگاهانه (quorums/CDC/CRDT) تکرار کنید، ترافیک جهانی را از طریق GSLB/Anycast و تعادل مکان آگاه کنید. اجباری: بی نظمی، زمان کوتاه، تمرینات منظم DR، SLO/metrics در برش های منطقه/AZ. برای iGaming/Finance، PSP/KYC منطقه ای، نیازهای داده ها را اضافه کنید و SLO ها را با صلاحیت تقسیم کنید.