סקירה כללית על זמינות גבוהה ב-AlloyDB

במסמך הזה מפורטת סקירה כללית על ההגדרה של זמינות גבוהה (HA) למכונות AlloyDB ל-PostgreSQL. כדי להגדיר מכונה חדשה ל-HA או להפעיל HA במכונה קיימת, אפשר לעיין במאמר בנושא צפייה בהגדרות של אשכול ומכונה.

הגדרת זמינות גבוהה (HA) מבטיחה המשך פעולה גם אחרי אירועי כשל. יכול להיות שמופעים אזוריים יחוו השבתה ממושכת במהלך אירועי כשל, אבל עם זמינות גבוהה, הנתונים שלכם נשארים זמינים לאפליקציות לקוח.

מכונות ראשיות ומשניות

מופע ראשי של AlloyDB שמוגדר עם זמינות גבוהה כולל צומת פעיל וצומת בהמתנה, שנמצאים באזורים שונים. לצורך אחסון, AlloyDB משתמש ב-log persistor אזורי כדי לאחסן יומני רישום מראש (WAL) של מסד הנתונים, ובשירות האחסון האזורי של AlloyDB כדי לאחסן בלוקים של נתונים. כתובת ה-IP של המכונה מנתבת את התעבורה לצומת הפעיל באמצעות מאזן עומסים.

כשמעבדים פעולות כתיבה, מסד הנתונים של AlloyDB קודם כותב את ה-WAL ל-persistor של היומן האזורי בצומת הפעיל, ואז מעביר את היומנים באופן אסינכרוני לשרתים לעיבוד יומנים אזוריים של AlloyDB, שמממשים את היומנים לבלוקים של נתונים לאחסון לטווח ארוך. לאחר מכן, AlloyDB מנקה את היומנים שעברו עיבוד בהצלחה.

התרשים הבא מציג את ארכיטקטורת הזמינות הגבוהה.

ארכיטקטורה של זמינות גבוהה

איור 1. ארכיטקטורה של זמינות גבוהה.

מעבר לגיבוי (Failover)

אם הצומת הפעיל הופך ללא זמין, AlloyDB מבצע אוטומטית מעבר לגיבוי כשל של המופע הראשי לצומת ההמתנה שלו, שהופך לצומת הפעיל החדש. מאזן העומסים מזהה את הצומת הפעיל החדש ומתחיל לנתב אליו את תעבורת הנתונים. אחרי מעבר לגיבוי, הצומת הפעיל החדש נשאר פעיל גם אחרי שהצומת המקורי חוזר למצב אונליין. לא מתרחש אובדן נתונים במהלך מעבר לגיבוי (failover) בגלל כתיבות סינכרוניות של WAL ל-persistor של היומן האזורי.

בתרשים הבא מוצג זרימת התנועה אחרי מעבר לגיבוי.

תנועת הנתונים אחרי מעבר לגיבוי

איור 2. זרימת התנועה אחרי מעבר לגיבוי.

מעבר לגיבוי מתרחש בסדר האירועים הבא:

  1. הצומת או האזור הפעילים נכשלים. מערכת ניטור התקינות של AlloyDB בודקת מעת לעת אם הצומת הפעיל תקין. אם מערכת הבדיקות של תקינות השרת נכשלת בכמה בדיקות, היא מתחילה מעבר לגיבוי. הזיהוי הזה יכול להימשך עד 30 שניות.
  2. מסד הנתונים מתחיל לפעול בצומת ההמתנה ומתחיל לקבל חיבורים. התהליך הזה בדרך כלל נמשך פחות מ-30 שניות.
  3. צומת ההמתנה מקודם לצומת ראשי. הצומת הראשי החדש מתחיל להציג נתונים באמצעות כתובת ה-IP הסטטית של המופע, והשאילתות של הלקוח מצליחות אחרי התחברות מחדש.
  4. ‫AlloyDB יוצר מחדש צומת המתנה באזור שהיה פעיל קודם. צומת ההמתנה הזה מוכן למעבר לגיבוי במקרה של כשל בעתיד.

דרישות

כדי ש-AlloyDB יאפשר מעבר לגיבוי בעת כשל, ההגדרה צריכה לעמוד בדרישות הבאות:

  • המכונה הראשית צריכה להיות במצב פעולה רגיל (לא מושבתת ולא נמצאת בתחזוקה).
  • האזור לגיבוי והצומת לגיבוי צריכים להיות תקינים.

ארכיטקטורה חדשה

מכונות AlloyDB חדשות שנוצרו עם PostgreSQL 18 מספקות יתירות כשל משופרת באמצעות התכונה 'מצב המתנה מיידי'.

בעזרת התכונה hot standby, ‏ AlloyDB מפעיל את צומת ההמתנה כרפליקה. במהלך מעבר לגיבוי, העותק המשוכפל הזה יכול לעבור למצב קריאה-כתיבה מהר יותר, וכך מצמצם את זמן ההשבתה. בנוסף, השכפול מאפשר שימוש במטמון חם, מה שעוזר להבטיח ביצועים עקביים של שאילתות אחרי מעבר לגיבוי.

התרשים הבא מציג את ארכיטקטורת הזמינות הגבוהה עם הגיבוי הפעיל. המתנה פעילה

איור 3. המתנה פעילה.

קריאה של מאגרים

מכונות של מאגר לקריאה עם שני צמתים או יותר הן בעלות זמינות גבוהה. הצמתים מפוזרים באופן שווה בין האזורים, וכך נוצרת עמידות בפני אירועי כשל. במקרה של אירועי כשל כמו כשל בצומת או באזור, מאזן עומסים אזורי מעביר את התעבורה לצמתים התקינים שנותרו, וכך מובטח שלא יהיה זמן השבתה ללקוחות.

מאגרי הקריאה נשארים אונליין במהלך מעבר לגיבוי כשל של מכונה מרכזית. הרפליקציה של WAL מהמכונה המרכזית מושהית באופן זמני במהלך מעבר לגיבוי כשל, ומתחדשת באופן אוטומטי אחרי שהמכונה המרכזית משוחזרת.

המאמרים הבאים