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

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

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

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

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

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

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

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

יתירות כשל

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

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

זרימת התנועה אחרי יתירות כשל

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

מעבר לגיבוי בעת כשל מתרחש ברצף האירועים הבא:

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

דרישות

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

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

ארכיטקטורת גיבוי חם

במכונות AlloyDB עם PostgreSQL 18, התכונה "מצב המתנה מיידי" משפרת את יתירות הכשל.

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

בתרשים הבא מוצגת ארכיטקטורת הזמינות הגבוהה, כולל הגיבוי החם. גיבוי חם (hot standby)

איור 3. המתנה חמה.

קריאת מאגרים

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

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

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