זמינות גבוהה ורפליקות

בדף הזה מוסבר איך הארכיטקטורה של Memorystore for Valkey תומכת בזמינות גבוהה (HA) ומספקת אותה. בדף הזה מוסברות גם ההגדרות המומלצות שיעזרו לשפר את הביצועים והיציבות של המופע.

זמינות גבוהה

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

התחברות ישירה לרסיסים מספקת את היתרונות הבאים:

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

  • במצב Cluster Mode Enabled (מצב אשכולות מופעל), חיבור ישיר מונע נקודת כשל בודדת כי כל רסיס מתוכנן להיכשל באופן עצמאי. לדוגמה, אם תנועה מכמה לקוחות מעמיסה יתר על המקום (חלק במרחב המפתחות), כשל של שבר מגביל את ההשפעה על השבר שאחראי על השירות של המקום.

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

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

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

  • התפקיד (מעבר אוטומטי לגיבוי)

  • נקודת הקצה (החלפת הצומת)

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

עותקים

מכונת Memorystore for Valkey עם זמינות גבוהה היא משאב אזורי. ‫Memorystore for Valkey מפזר את מכונות ה-VM הראשיות והמשוכפלות של השארדים על פני כמה אזורים כדי להגן מפני הפסקת חשמל באזור. ‫Memorystore for Valkey תומך במכונות עם 0 עד 5 רפליקות לכל צומת.

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

  • Cluster Mode Enabled: משתמשים בפקודה READONLY כדי ליצור חיבור שיאפשר ללקוח לקרוא מהעותקים.
  • מצב אשכול מושבת: מתחברים לנקודת הקצה של הקורא כדי להתחבר לאחת מהרפליקות הזמינות.

צורות מופעים שמופעל בהן מצב אשכול

בתרשימים הבאים מוצגים צורות של מופעים שמופעל בהם Cluster Mode:

צורה של מופע עם שלושה רסיסים ואפס עותקים לכל צומת

מופע של Memorystore for Valkey עם מצב Cluster Mode Enabled ללא רפליקות, שבו הצמתים מחולקים באופן שווה בין שלושה אזורים.

צורת מופע עם שלושה רסיסים ועותק אחד לכל צומת

מופע Memorystore for Valkey Cluster Mode Enabled עם עותק אחד לכל צומת, והצמתים מחולקים באופן שווה בין שלושה אזורים.

צורה של מופע עם שלושה רסיסים וכמה עותקים משוכפלים לכל צומת

מופע של Memorystore for Valkey עם הפעלה של מצב אשכולות, עם כמה עותקים משוכפלים לכל צומת, והצמתים מחולקים באופן שווה בין שלושה אזורים.

צורות של מופעים במצב לא מקובץ

התרשים הבא מדגים צורה של מופעים שבהם Cluster Mode מושבת:

צורה של מופע עם כמה עותקים

מופע של Memorystore for Valkey במצב Cluster Mode Disabled עם כמה רפליקות וצמתים שמחולקים באופן שווה בין שלושה אזורים.

מעבר אוטומטי לגיבוי (failover)

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

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

משך הזמן של מעבר לשירות גיבוי ותיקון הצומת

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

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

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

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

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

כתיבות שאבדו

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

אפליקציות לקוח יכולות להשתמש בפקודה WAIT של Valkey כדי לשפר את בטיחות הנתונים בעולם האמיתי.

ההשפעה על מרחב המפתחות של הפסקת חשמל באזור אחד

בקטע הזה מוסבר איך הפסקת חשמל באזור יחיד משפיעה על מופע של Memorystore for Valkey.

מופעים רב-אזוריים

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

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

מופעים באזור יחיד

  • מכונות HA ומכונות שאינן HA: אם יש הפסקת חשמל באזור שבו המכונה הוקצתה, האשכול לא זמין והנתונים נמחקים. אם יש הפסקת חשמל באזור אחר, האשכול ממשיך לשרת בקשות קריאה וכתיבה.

שיטות מומלצות

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

הוספת עותק

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

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