النشر بدون توقف (Zero-downtime deployment) يعني إصدار نسخ جديدة دون أي انقطاع في خدمة المستخدمين — يبقى التطبيق متاحًا طوال الوقت. تحقيق ذلك يتطلب استراتيجيات نشر حذرة، تغييرات متوافقة مع الإصدارات القديمة، فحوصات صحة النظام، والتعامل السلس مع الطلبات قيد المعالجة.
ما يتطلبه النشر بدون توقف
GOAL: deploy a new version with NO user-facing downtime (always-available service):
→ never take the whole service offline to deploy
→ always have healthy instances serving while updating others
→ handle in-flight requests gracefully (don't drop them mid-request)
→ Combine several techniques (below).
التقنيات الرئيسية
✓ DEPLOYMENT STRATEGY — rolling, blue-green, or canary (never all-at-once downtime):
→ rolling: update instances gradually (others keep serving)
→ blue-green: switch traffic to the new environment instantly
✓ LOAD BALANCER + HEALTH CHECKS → route traffic only to healthy/ready instances;
new instances join only when READY (readiness checks)
✓ GRACEFUL SHUTDOWN → draining: stop sending new requests to an instance, let it FINISH
in-flight requests, THEN stop it (handle SIGTERM) → no dropped requests
✓ BACKWARD-COMPATIBLE changes → old and new versions coexist during the rollout
(API and DATABASE compatibility — expand-contract migrations)
