GH GambleHub

به روز رسانی اکوسیستم بدون خرابی

(بخش: اکوسیستم و شبکه)

1) هدف و اصول صفر خرابی

به روز رسانی صفر خرابی اطمینان از عملکرد مداوم شبکه و محصولات در طول تغییرات در کد، تنظیمات، طرح های داده ها و پروتکل ها. اصول اساسی:
  • سازگاری رو به جلو/عقب در مرزهای قرارداد.
  • تحویل پیشرفته به جای «سوئیچ بزرگ».
  • قابلیت مشاهده و برگشت پذیری: معیارها، ردیابی ها، بازگشت سریع.
  • Idempointency و عقب نشینی امن برای شبکه و جریان پرداخت.
  • جداسازی گسل: معماری سلول، قطع کننده مدار، محدودیت های فن.

2) استراتژی های انتشار بدون خرابی

آبی - سبز - دو پشته یکسان (آبی = تولید، سبز = جدید). ترافیک به صورت اتمی در سطح متعادل کننده با امکان بازگشت فوری تغییر می کند.
Canary - سهم مرحله ای از ترافیک (1٪ → 5٪ → 20٪ → 50٪ → 100٪) با دروازه های SLO.
نورد - به روز رسانی استخر گره به گره با بررسی آمادگی و زهکشی اتصال.
Shadow/Traffic Mirroring - درخواست های آینه برای یک نسخه جدید بدون تاثیر بر پاسخ.
ویژگی پرچم - تغییر کسب و کار از ویژگی های بیش از یک API بدون تغییر (گسترش تدریجی).
تاریک راه اندازی - فعال کردن شاخه های منطق پنهان برای تله متری و پروفایل.

توصیه: برای خدمات بحرانی - ترکیبی از قناری + نورد + پرچم ویژگی ؛ برای دروازه ها و API ها - آبی سبز با تعویض کوتاه.

3) سازگاری قراردادی (API/رویدادها/پروتکل)

API: نسخه بندی توسط URI/هدر ؛ افزودن فیلدها - معتبر، حذف/تغییر نام - فقط از طریق «پنجره مستهلک».
رویدادها (event-bus): فیلدهای «فقط اضافه کردن» ؛ کلیدها تغییرناپذیرند ؛ انواع جدید - به عنوان تم ها/نسخه های جدید.
طرحواره ها (Avro/JSON-Schema/Protobuf): طرح رجیستری، سازگاری BACKWARD 'FULL'.
protocol/P2P شبکه: نسخه handshake و مذاکره قابلیت (گره اعلام نسخه های پشتیبانی/ویژگی های).
Gateway: آداپتورهای بین vN و vN + 1 (transcoding/field mapping) برای دوره مهاجرت.

خط مشی استهلاک (مثال): اعلان → ≥90 روز هشدار → چک باکس «منسوخ» → حذف فیلد/نقطه پایانی.

4) گسترش → مهاجرت → قرارداد

1. گسترش - اضافه کردن ساختارها/شاخص ها/ستون های جدید (nullable/default)، نوشتن دوگانه (نوشتن دوگانه) به فرمت های قدیمی و جدید.
2. مهاجرت - مهاجرت پس زمینه، backfill، اعتبار سازگاری ؛ خواندن از طریق یک آداپتور که از هر دو طرح پشتیبانی می کند.
3. قرارداد - غیرفعال کردن خواندن/نوشتن به طرح قدیمی، حذف بدهی فنی پس از تکمیل «پنجره مستهلک».

SQL (ساده شده):
sql
-- Expand
ALTER TABLE payouts ADD COLUMN payout_ref TEXT NULL;
CREATE INDEX CONCURRENTLY ix_payouts_ref ON payouts(payout_ref);

-- Migrate (batch + idempotent)
UPDATE payouts SET payout_ref = concat('ref_', id) WHERE payout_ref IS NULL;

-- Contract (after compatibility window)
ALTER TABLE payouts ALTER COLUMN payout_ref SET NOT NULL;

Transactionality رویداد: استفاده از Outbox (معامله با رکورد رویداد) + CDC برای تحویل تضمین شده.

5) اتصالات طولانی مدت و زهکشی

خاموش کردن برازنده: SIGTERM → متوقف کردن پذیرش درخواست های جدید → تنظیم 'آمادگی = شکست' → منتظر جریان های WebSocket/HTTP2/QUIC برای تخلیه → بستن.
تخلیه اتصال بر روی متعادل کننده: «deregister _ delay» 30-120 s، جلسات چسبنده - از طریق نشانه ها، نه IP.
فشار برگشتی: p99_latency بالادست جدید را محدود کنید.

6) SDK و نسخه مشتری

SemVer برای SDK ؛ شاخه LTS با پنجره پشتیبانی گسترده (به عنوان مثال 12 ماه)

سیاست: «حداقل دو نسخه کوچک فعال» ؛ تله متری در هر مشتری توسط نسخه ؛ هشدارهای ارتقاء خودکار

تغییرات بحرانی (امنیت): پرچم اجباری از غیر فعال کردن نسخه های قدیمی از طریق دروازه پس از مهلت.

7) به روز رسانی پروتکل ها و گره های شبکه

سافت فورک: گسترش قوانین بدون نقض گره های قدیمی (قابلیت ها).
هارد فورک: پنجره از پیش اعلام شده، اعتبار سنجی مضاعف، «اعتبار سنج های قناری»، محافظت در برابر درگیری های «reorg/rollback»، قفل زمان برای فعال سازی.
به روز رسانی بین زنجیره ای: پل های حکومتی سیگنال های فعال سازی را انتقال می دهند ؛ در صورت عدم هماهنگی - مدار شکن محلی.

8) تنظیمات و اسرار به عنوان داده

خدمات پیکربندی متمرکز با نسخه بندی، امضای دیجیتال و بازپرداخت.
چرخش اسرار بدون خرابی: دو کلید (قدیمی/جدید)، گنجاندن متناوب ؛ خرابی صفر برای KMS/PKI.
پرچم های ویژگی در یک ردیف جداگانه، ممیزی روشن/خاموش.

9) انتشار خط لوله و «دروازه» اتوماتیک

Стадии: ساخت → واحد → اسکن امنیتی → e2e/مرحله → سایه → قناری → 100٪.

گیتس متوقف می شود:
  • Error-budget burn-rate, p95/p99 latency, error-rate, کاهش رویدادها/پرداختهای نرخ موفقیت, رشد صفهای حرف مرده.
  • بازگشت خودکار در صورت نقض SLO در هر یک از مراحل.
مثال (شبه YAML):
yaml release:
strategy: canary steps:
- name: shadow traffic_mirror: 5%
gates: [no_data_loss, no_pii_leak]
- name: canary_1 traffic: 1%
gates: [error_rate<0. 2%, p99<400ms]
- name: canary_2 traffic: 10%
gates: [slo_ok_1h, zero_deadletters]
- name: rollout traffic: 100%
gates: [stability_6h]
- name: bake duration: 24h action: finalize_or_rollback

10) قابلیت مشاهده و SLO برای انتشار

SLI های کلیدی:
  • p95/p99 تاخیر توسط نقاط پایانی ؛ نرخ خطا (5xx + 4xx کشنده) ؛ رویدادهای نرخ موفقیت ؛ نسبت رتریها ؛ تاخیر صف ؛ سهم «رله» در P2P ؛ سهم مشتریان از طریق نسخه
SLO (مثال):
  • p99 API ≤ 400 میلی ثانیه ؛ میزان خطا ≤ 0. 2%; آمار موفقیت ≥ 99 5%; تاخیر صف ≤ 2 ثانیه ؛ بازگشت MTTR ≤ 15 دقیقه
  • داشبورد انتشار: قبل/بعد از مقایسه، نمودار canary، نقشه وابستگی (نقشه سرویس)، هشدار سوختگی 1h/6h.

11) چرخش و کشتن سوئیچ

بازگشت خودکار: آخرین مصنوعات و پیکربندی های «خوب» را نگه دارید. بازگشت «1 دکمه» در متعادل کننده (Blue←Green).
بازگشت جزئی: phicheflag هنگام ذخیره باینری منطق جدید را خاموش می کند.
بازگرداندن داده ها: فقط برای «مسیرهای خواندن» ؛ برای نوشتن مسیرها - مهاجرت محافظت شده (هرگز ستون های قدیمی را تا انتهای پنجره حذف نکنید).
Kill-switch: پرچم متمرکز برای غیرفعال کردن زیر سیستم ناپایدار.

12) تست بدون خرابی

تست قرارداد در برابر تثبیت مشتری (مبتنی بر مصرف کننده)

تست های Schema-Compat

آزمون هرج و مرج در مرحله بندی: شکست درصد گره ها/مناطق، تخریب DHT/TURN/KMS/DNS، «طوفان retray».
تست بار/remarket: مناطق قناری و مسیرهای داغ.

13) ارتباطات و روش های انطباق

یادداشت انتشار: چه تغییرات، نفوذ، پنجره ها/مهلت های مستهلک، اقدامات برای شرکا.
SLA از پاسخ های حادثه: MTTA ≤ 5 دقیقه، اولین وضعیت به روز رسانی ≤ 15 دقیقه، پس از مرگ ≤ 72 ساعت.
ردیابی حسابرسی: اتصال تمام تغییرات پیکربندی و انتشار به برنامه ها/سایت ها، امضای مصنوعات.

14) موارد خاص

پرداخت/جریان مالی: idempotency دقیق، dedup با توجه به idempotency کلید، outbox + CDC، «غیر مخرب» مهاجرت تنها.
WebSocket/streams: نسخه پروتکل در دست دادن، اتصال مجدد با خلاصه (نشانه های رزومه).
Cache/edge: 'stale-while-revalidate'، نسخه های حافظه پنهان دوگانه، بهداشت TTL در طول دوره انتشار.
مشتریان تلفن همراه: مرحله به مرحله در بخش ها، به روز رسانی اجباری در نسخه های امنیتی.

15) چک لیست صفر خرابی

1. سازگاری قرارداد و طرح رجیستری پیکربندی شده است.
2. گسترش → مهاجرت → قرارداد شرح داده شده و خودکار است.
3. تعادل/ورود از زهکشی آبی-سبز و اتصال پشتیبانی می کند.
4. خط لوله قناری با دروازه های SLO و بازگشت خودکار.
5. ویژگی های پرچم و کشتن سوئیچ در دسترس هستند 24/7.
6. Outbox + CDC و idempotency برای همه مسیرهای نوشتن فعال هستند.
7. داشبوردهای release-health و هشدارهای burn-rate فعال هستند.
8. ارتباطات و سیاست مستهلک اعلام شده به شرکای در پیش است.

9. برگشت تمرین هفتگی ؛ روز هرج و مرج سه ماهه

16) واژه نامه

تحویل پیشرونده - انتشار مرحله ای از ویژگی های با کنترل ریسک.
Schema registry - مخزن نسخه های schema با سیاست های سازگاری.
Outbox/CDC - الگویی برای تضمین انتشار رویدادها از معاملات.
آبی-سبز - پشته موازی با تعویض ترافیک اتمی.
Canary - به تدریج افزایش سهم ترافیک در نسخه جدید.
خاموش شدن/تخلیه برازنده - خاتمه صحیح اتصالات فعال.

خط پایین: خرابی صفر یک ترفند نیست، بلکه یک سیستم است: قراردادها، سازگاری طرح، استراتژی های انتشار مرحله ای، قابلیت مشاهده، مهاجرت ایمن و بازپرداخت تضمین شده. به دنبال این چارچوب، اکوسیستم به سرعت، قابل پیش بینی و بدون درد برای کاربران و شرکا به روز می شود.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.