בדף הזה מוסבר על זמינות גבוהה (HA) במכונות Memorystore for Redis במסלול Standard.
רמת השירות Standard מגנה על מופע Redis מפני כשלים נפוצים על ידי שכפול נתונים לשכפולים אחדים או יותר, ועל ידי מתן מעבר מהיר ואוטומטי לגיבוי לשכפול.
מופע ברמת Standard שבו ההגדרה readReplicaMode מושבתת מכיל מופע ראשי ועותק שמשמש כגיבוי ומספק פונקציונליות של זמינות גבוהה. במופע ברמת Standard שבו ההגדרה הזו מופעלת, יש מופע ראשי ו-1 עד 5 רפליקות לקריאה. העותקים לקריאה בהגדרה הזו מבצעים קריאות וגם מספקים תמיכה במעבר לגיבוי במקרה של כשל, לצורך פונקציונליות של זמינות גבוהה. כדי לבדוק אם ההגדרה readReplicaMode מושבתת או מופעלת, אפשר לעיין במאמר הצגת מידע על העותק לקריאה של המופע.
Memorystore for Redis מספק זמינות גבוהה על ידי שכפול מכונה ראשית למכונה אחת או יותר של שכפול. Memorystore for Redis משתמש בפרוטוקול השכפול האסינכרוני כדי להעתיק את כל השינויים שאתם מבצעים בנתונים במכונה הראשית למכונות השכפול. בגלל האופי האסינכרוני של השכפול, ותלוי בקצב הכתיבה של המכונה הראשית, יכול להיות שיהיה פער בין מכונות השכפול למכונה הראשית.
אם המופע הראשי נכשל, המופע עובר אוטומטית למופע משוכפל. במקרים שבהם יש יותר מרפליקה אחת, המעבר לגיבוי (failover) מתבצע אוטומטית לרפליקה תקינה עם השהיית השכפול הכי קצרה.

אם מגדירים מופע עם רפליקה אחת בלבד שאינה לקריאה, אז Memorystore for Redis מפנה את כל החיבורים של האפליקציה לנקודת הקצה הראשית. אם מגדירים את המופע לשימוש ברפליקות לקריאה, אז האפליקציות יכולות להשתמש גם בנקודת הקצה לקריאה כדי להפיץ את שאילתות הקריאה בין כל הרפליקות.
מה קורה כשמתבצע מעבר לגיבוי
מעבר לגיבוי מתרחש כשהמופע הראשי נכשל. במהלך מעבר לגיבוי, המופע הראשי ונקודת הקצה לקריאה מופנים אוטומטית למופע הראשי החדש ולרפליקות. כל החיבורים לנקודת הקצה הראשית מושבתים ב-Memorystore for Redis. בנוסף, ב-Memorystore for Redis, החיבורים לנקודת הקצה לקריאה נסגרים עבור העותק לקריאה שקודם.
איך מעבר לגיבוי משפיע על האפליקציה
כשמתרחש מעבר לגיבוי בעת כשל במופע הראשי, Memorystore for Redis מפסיק את החיבורים הקיימים לנקודת הקצה הראשית של המופע. המופע לא זמין למשך 30 שניות בממוצע במהלך תיקונים אוטומטיים, ולמשך 15 שניות במהלך אירועי תחזוקה. אחרי החיבור מחדש, האפליקציה מופנית אוטומטית למופע הראשי החדש באמצעות אותו מחרוזת חיבור או כתובת IP. אין צורך לעדכן את האפליקציה אחרי מעבר לגיבוי בעת כשל.
במהלך מעבר לגיבוי, אם יש חיבורים לנקודת הקריאה, Memorystore for Redis מפסיק את החיבורים לרפליקה שמקודמת למכונה הראשית. Memorystore for Redis ממשיך להפעיל את החיבורים לרפליקות האחרות. אחרי שהמעבר לגיבוי מסתיים והרפליקה החדשה זמינה, Memorystore for Redis מפנה את החיבורים לרפליקה החדשה.
ניסיון חוזר של החיבור למופע אחרי מעבר לגיבוי (failover)
כשמתרחש מעבר לגיבוי, Memorystore for Redis מפסיק את כל החיבורים מנקודת הקצה הראשית. יכול להיות ש-Memorystore for Redis גם ינתק חלק מחיבורי הקריאה, בהתאם למספר העותקים.
בגלל הניתוק, האפליקציה צריכה לנסות שוב ליצור את החיבור. מומלץ להשתמש בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) בלוגיקה של הניסיון החוזר, כדי למנוע עומס יתר על המופע שלכם בגלל יותר מדי בקשות לניסיון חוזר. בנוסף להכללת לוגיקה של ניסיון חוזר, מומלץ לבדוק איך יתירות כשל משפיעה על האפליקציה. לשם כך, אפשר לבדוק את האפליקציה באמצעות יתירות כשל באופן ידני.
לרוב לקוחות Redis יש יכולות מובנות לניסיון חוזר. אם החיבור נותק בגלל מעבר לגיבוי, מומלץ להשתמש ביכולות הניסיון החוזר האלה.
יתירות כשל מתרחשת כשמבצעים את המשימות הבאות:
אם מטמיעים באפליקציה לוגיקה של ניסיון חוזר כדי לטפל בניתוקים של החיבור בגלל מעבר לגיבוי, סביר להניח שלא תהיה השפעה משמעותית על הביצועים של המופע.
צפייה בסטטוס של זמינות גבוהה
אתם יכולים להשתמש ב-Cloud Monitoring כדי לראות את מדדי הזמינות הגבוהה של מופע Redis. מידע על המדדים ש-Cloud Monitoring מספק ל-Memorystore for Redis זמין במאמרים מעקב אחר מכונות Redis ומדדי מעקב נתמכים ל-Memorystore for Redis.
כדי לראות את סטטוס השכפול המובנה ש-Redis מספק, משתמשים בפקודה INFO.