עדכוני מערכת אקולוגית ללא השבתה
(סעיף: מערכת אקולוגית ורשת)
1) אפס-זמן מטרה ועקרונות
עדכוני אפס-השבתה מבטיחים פעולה רציפה של הרשת ומוצריה במהלך שינויים בקוד, בתצורות, בתרשים נתונים ובפרוטוקולים. עקרונות בסיסיים:- תאימות לאחור/קדימה בחוזה גבולות.
- משלוח מתקדם במקום ”מתג גדול”.
- יכולת תצפית והתהפכות: מדדים, עקבות, גלגול מהיר.
- אידמפוטנטיות ונסיגות מאובטחות עבור רשת וזרימות תשלום.
- בידוד פגמים: ארכיטקטורה סלולרית, מפסקים, גבולות מאוורר.
2) אסטרטגיות שחרור ללא זמן
כחול-ירוק - שתי ערימות זהות (כחול = פרוד, ירוק = חדש). התנועה הוחלפה באופן אטומי ברמת האיזון עם האפשרות של החזרה מיידית.
נתח התנועה של הקנריים בשלבים (1% -5% -.ach 20% -50% -100%) עם שערי SLO.
עדכון בריכת קשרי קשר עם בדיקת מוכנות וניקוז חיבור.
שיקוף צל/תנועה - בקשות מראה לגרסה חדשה מבלי להשפיע על התגובות.
Feature Flags - החלפה עסקית של תכונות על פני API ללא שינוי (rollout הדרגתי).
שיגור אפל - אפשר ענפי היגיון נסתרים לטלמטריה ואפיון.
המלצה: עבור שירותים קריטיים - שילוב של דגלי canary + rolling + feature; עבור שערים ואפיון - כחול-ירוק עם מתגים קצרים.
3) התאמה חוזית (API/Events/Protocol)
API: Versioning by URI/headers; הוספת שדות - תקפים, מחיקת/שינוי שם - רק דרך ”חלון פחת”.
אירועים (event-bus): ”רק הוספת שדות”; מפתחות הם בלתי ניתנים לשינוי; סוגים חדשים - כנושאים/גרסאות חדשות.
סכמות (Avro/JSON-Schema/Protobuf): סכימת רישום, תאימות BACWARD 'FULL'.
protocol/P2P רשת: לחיצת יד גרסה ומשא ומתן על יכולת (צומת מכריז על גרסאות/תכונות נתמכות).
שערים: מתאם בין vN ל vN + 1 (transcoding/field mapping) לתקופת הנדידה.
Desprecate policy (דוגמה): הכרזה = 90 ימים של אזהרה = ”dispressed” checkbox _ מחיקה של שדה/נקודת סוף.
4) הרחיבו את Action Ligate Action
1. להרחיב - להוסיף מבנים חדשים/אינדקסים/עמודות (nullable/default), דו ־ כתיבה (double-write) לפורמטים הישנים והחדשים.
2. נדידה על רקע נודד, הילוך אחורי, אימות עקבי; לקרוא דרך מתאם שתומך בשתי המזימות.
3. חוזה - בטל קריאה/כתיבה לסכימה הישנה, הסר את החוב הטכני לאחר השלמת ”חלון פחת”.
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 # הפסק לקבל בקשות חדשות * set 'set' regency = fail '# המתנה לזרמים WebSocket/HTTP2/QUIC לנקז * close.
חיבור מרוקן על המאזן: ”deregister _ helief's 30-120”, הפעלות דביקות - דרך אסימונים, לא IP.
תגביל p99_latency חדשים במעלה הזרם.
6) SDK ו ־ Versioning לקוח
SemVer for SDK; ענף LTS עם חלון תמיכה מורחב (למשל. 12 חודשים).
מדיניות: ”לפחות שתי גרסאות שוליות פעילות”; טלמטריה ללקוח לפי גרסה; התראות לשדרוג אוטומטי
שינויים קריטיים (אבטחה): דגל מאולץ של ניתוק גרסאות ישנות דרך השער לאחר המועד האחרון.
7) עדכונים של פרוטוקולים וצומתי רשת
רך-מזלג: הרחבת כללים ללא הפרת צמתים ישנים (יכולות).
מזלג קשיח: חלון שהוכרז מראש, אימות כפול, ”מאשרים קנריים”, הגנה מפני קונפליקטי ”org/rollback”, מנעול זמן להפעלה.
עדכוני שרשרת מוצלבים: גשרי ממשל משדרים אותות הפעלה; במקרה של יישור שגוי - מעגל חשמלי מקומי.
8) תצורות וסודות כנתונים
שירות הגדרות מרוכז עם וריאציות, חתימות דיגיטליות וגלגול חוזר.
סיבוב סודות ללא זמן השבתה: מפתחות כפולים (ישן/חדש), הכללה חלופית; זמן השבתה אפס עבור KMS/PKI.
דגלי תכונה בשורה נפרדת, ביקורת של on/off.
9) שחרור צינור ו ”שערים” אוטומטי
Build about: Build ach secure = e2e/stage _ shadow ac canary = 100%.
גייטס-סטופ:- שיעור שרפה-תקציב שגיאה, p95/p99 latency, שיעור שגיאה, ירידה באירועים/תשלומים בשיעור הצלחה, גידול תורים של אותיות מתות.
- החזרה אוטומטית במקרה של הפרת SLO בכל אחד מהשלבים.
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 לשחרור
סלים מפתח:- p95/p99 latency by endpoints; שגיאה-קצב (5xx + קטלני 4xx); אירועי אחוזי הצלחה; פרופורציה של מגשים מחדש; תור לג; ”ממסר” לשתף P2P; נתח לקוחות לפי גרסה.
- P99 API כולל 400 ms; שגיאה מדרגה 0. 2%; הצלחה בשיעור אירועים 99. 5%; תור lag all 2 s; רולבק MTR על 15 דקות.
- שחררו לוחות מחוונים: לפני/אחרי השוואה, גרפים קנריים, מפת תלות (מפת שירות), התראות קצב צריבה 1h/6h.
11) גלגולים ומתג להרוג
אוטומטי-rollback: לשמור את החפצים ”טובים” האחרונים ותצורות; ”1-כפתור” rollback על המאזן (Blue←Green).
גלגול חלקי: הפיצ 'פלג מכבה את ההיגיון החדש בעת שמירת הבינארי.
גלגול נתונים: רק עבור ”קריאת נתיבים”; לנדידה מוגנת (לעולם אל תמחק עמודות ישנות עד סוף החלון).
מתג הריגה: דגל מרכזי כדי לנטרל את תת-המערכת הלא יציבה.
12) בדיקות ללא הפסקה
בדיקות חוזה נגד ייצוב לקוחות (מונע על ידי צרכן).
בדיקות סכימה.
בדיקות כאוס בהיערכות: כישלון של% מהצמתים/האזורים, הידרדרות DHT/TURN/KMS/DNS, ”סופת מגש מחדש”.
טעינה/מבחנים: אזורי קנרית ומסלולים חמים.
13) נהלי תקשורת וציות
הערות שחרור: אילו שינויים, השפעה, חלונות/תאריכי יעד, פעולות לשותפים.
SLA של תגובות תקרית: MTTA 5 דקות, עדכון מצב ראשון 15 דקות, לאחר המוות 72 h.
ביקורת מעקב: קישור כל שינויי הגדרות ושחרורים ליישומים/אתרים, חתימות של חפצים.
14) מקרים מיוחדים
תשלומים/זרימות כספיות: אידמפוטנטיות קפדנית, דידאפ לפי מפתח אידמפוטנטי, אאוטבוקס + CDC, נדידה ”לא הרסנית” בלבד.
שקע רשת/זרמים: גרסת פרוטוקול בלחיצת יד, התחבר מחדש עם תקציר (קורות חיים אסימונים).
מטמון/קצה: 'מעופש בזמן מחדש', גרסאות מטמון כפולות, היגיינת TTL במהלך תקופת השחרור.
לקוחות ניידים: עלייה בשלבים בסקטורים, עדכון כפוי על שחרורי אבטחה.
15) רשימת אפס שעת הפסקה
1. תאימות החוזה ותוכנית הרישום מוגדרות.
2. Explox Migrate Action מתואר ואוטומטי.
3. שיווי משקל/אינגרס תומכת בניקוז כחול-ירוק וחיבור.
4. צינור קנרי עם סלו-גייטס וחזרה אוטומטית.
5. דגלי תכונה ומתג הריגה זמינים 24/7.
6. Outbox + CDC ו ־ idempotency מאופשרים לכל נתיבי הכתיבה.
7. לוחות רישוי-שחרור והתראות על צריבה פעילים.
8. תקשורת ופחת מדיניות הודיע לשותפים מראש.
9. החזרה השבועית מתגלגלת; יום כאוס רבעוני.
16) גלוסרי
שחרור הדרגתי של תכונות בעלות בקרת סיכון.
סכימה רישום - מאגר של גרסאות סכימה עם מדיניות תאימות.
Outbox/CDC - תבנית לפרסום מובטח של אירועים מעסקאות.
”כחול-ירוק”, ערימות מקבילות עם תנועה אטומית מתחלפת.
קנרית - בהדרגה להגדיל את נתח התנועה בגרסה החדשה.
כיבוי חינני/ניקוז - סיום נכון של קשרים פעילים.
שורה תחתונה: אפס זמן השבתה אינו טריק אחד, אלא מערכת: חוזים, תאימות ערכית, אסטרטגיות שחרור שלבים, יכולת תצפית, נדידה בטוחה וגלגולים מובטחים. בעקבות מסגרת זו, המערכת האקולוגית מתעדכנת במהירות, באופן צפוי וללא כאב למשתמשים ולשותפים.