האם אשכול Redis משתמש ב- Sentinel?
אשכול Redis vs. סנטינל 12 במאי 2014
הרשימה הבאה מכילה תשובות לשאלות שנשאלו בדרך כלל על מטמון תכלת לאשכול מחדש של Redis.
קבע את התצורה של אשכולות Redis עבור מטמון תכלת פרימיום למופע Redis
מטמון Azure עבור Redis מציע לאשכול Redis כפי שהוא מיושם ב- Redis. עם אשכול Redis, אתה מקבל את היתרונות הבאים:
- היכולת לפצל אוטומטית את מערך הנתונים שלך בין צמתים מרובים.
- היכולת להמשיך בפעולות כאשר תת קבוצה של הצמתים חווה כישלונות או אינה מסוגלת לתקשר עם שאר האשכול.
- תפוקה רבה יותר: התפוקה גדלה באופן לינארי ככל שתגדיל את מספר השברים.
- גודל זיכרון נוסף: גדל באופן לינארי ככל שתגדיל את מספר השברים.
אשכולות לא מגדילים את מספר החיבורים הזמינים עבור מטמון מקובץ. למידע נוסף על גודל, תפוקה ורוחב פס עם מטמון פרימיום, ראה בחירת הרובד הנכון.
ב- Azure, Redis Cluster מוצע כמודל ראשי/העתק בו לכל שחר.
מטמון Azure עבור Redis תומך כעת עד 30 שרדטים (תצוגה מקדימה)
מטמון Azure עבור Redis תומך כעת ב -30 שרוחות למטמון מקובץ. מטמון מקובץ המוגדר עם שני העתקים יכולים לתמוך עד 20 שרים ומטמון מקובץ המוגדרים עם שלושה העתקים יכולים לתמוך עד 15 שרים.
מגבלות
- מגבלת Shard למטונים עם גרסת 4 של Redis היא 10.
- מגבלת החריפה למטמון שנפגעו מפרישת שירות הענן היא 10.
- התחזוקה תימשך זמן רב יותר מכיוון שכל צומת לוקח בערך 20 דקות לעדכן. פעולות תחזוקה אחרות ייחסמו בזמן שהמטמון שלך נמצא בתחזוקה.
הגדר אשכולות
אשכול מופעל מטמון Azure חדש ל- Redis משמאל במהלך יצירת מטמון.
- ליצירת מטמון פרימיום, היכנס לפורטל Azure ובחר ליצור משאב. מלבד יצירת מטמון בפורטל Azure, אתה יכול גם ליצור אותם באמצעות תבניות מנהל משאבים, PowerShell או Azure CLI. למידע נוסף על יצירת מטמון Azure עבור Redis, ראה צור מטמון.
- על חָדָשׁ דף, בחר מסדי נתונים ואז בחר מטמון Azure עבור redis.
- על מטמון חדש של Redis דף, קבע את התצורה של ההגדרות למטמון הפרימיום החדש שלך.
הגדרה ערך מוצע תיאור שם DNS הזן שם ייחודי גלובלי. שם המטמון חייב להיות מחרוזת בין 1 ל 63 תווים. המחרוזת יכולה להכיל רק מספרים, אותיות או מקפים. השם חייב להתחיל ולהסתיים עם מספר או אותיות, ואינו יכול להכיל מקפים רצופים. מופע המטמון שלך שם מארח יהיה .redis.מטמון.חלונות.נֶטוֹ. מִנוּי נפתח ובחר את המנוי שלך. המנוי שמתחת ליצור מטמון Azure החדש הזה למופע Redis. קבוצת משאבים נפתח ובחר קבוצת משאבים, או בחר צור חדש ולהזין שם קבוצת משאבים חדש. שם לקבוצת המשאבים בה ניתן ליצור את המטמון שלך ומשאבים אחרים. על ידי הצבת כל משאבי האפליקציה שלך בקבוצת משאבים אחת, אתה יכול בקלות לנהל או למחוק אותם יחד. מקום נפתח ובחר מיקום. בחר אזור ליד שירותים אחרים שישתמשו במטמון שלך. סוג מטמון נפתח ובחר מטמון פרימיום להגדרת תצורת תכונות פרימיום. לפרטים, עיין במטמון Azure לתמחור Redis. שכבת התמחור קובעת את הגודל, הביצועים והתכונות הזמינות למטמון. למידע נוסף, עיין במטמון Azure לקבלת סקירה כללית של Redis. - בחר את רשת כרטיסייה או בחר ב רשת כפתור בתחתית העמוד.
- בתוך ה רשת כרטיסייה, בחר את שיטת הקישוריות שלך. עבור מקרים של מטמון פרימיום, באפשרותך להתחבר בפומבי, באמצעות כתובות IP ציבוריות או נקודות קצה של שירות, או באופן פרטי, באמצעות נקודת קצה פרטית.
- בחר את הבא: מתקדם כרטיסייה או בחר ב הבא: מתקדם כפתור בתחתית העמוד.
- בתוך ה מִתקַדֵם כרטיסייה למופע מטמון פרימיום, קבעו את התצורה של ההגדרות עבור יציאת ללא TLS, אשכולות והתמדה בנתונים. כדי לאפשר אשכולות, בחר לְאַפשֵׁר. אתה יכול לקבל עד 10 שברים באשכול. לאחר הבחירה לְאַפשֵׁר, החלק את המחוון או הקלד מספר בין 1 ל -10 עבור ספירת שרד ובחר בסדר. כל שחר הוא זוג מטמון ראשוני/העתק המנוהל על ידי Azure, והגודל הכולל של המטמון מחושב על ידי הכפלת מספר השברים לפי גודל המטמון שנבחר ברובד התמחור. פעם ה
שאלות ייחודיות:
- מהם היתרונות של שימוש באשכול Redis?
- יכול להיות אשכולות להגדיל את מספר החיבורים הזמינים למטמון מקובץ?
- כמה שרדסים מטמון תכלת עבור Redis תומך כעת במטונים מקובצים?
- מה מגבלת השרש למטמון עם גרסת 4 של Redis?
- מה מגבלת החריפה למטמון שנפגעו מפרישת שירות הענן?
- כמה זמן תחזוקה לוקח לצומת במטמון מקובץ?
- כיצד אוכל להגדיר אשכולות למטמון תכלת פרימיום למופע Redis?
- מהן המגבלות של אשכולות Redis במטמון Azure עבור Redis?
- מהם הצעדים ליצירת מטמון פרימיום במטמון Azure עבור Redis?
- כמה שרדסים יכולים מטמון מקובץ עם שתי תמיכה בשכפול?
- כמה שרדסים יכולים מטמון מקובץ עם שלוש תמיכה בשכפול?
- מה מייצג כל שרד באשכול Redis?
- כיצד מנוהל שכפול באשכול Redis במטמון Azure עבור Redis?
- אילו שיטות אימות זמינות לחיבור למטמון פרימיום במטמון Azure עבור Redis?
- אילו גורמים יש לקחת בחשבון בבחירת גודל המטמון ותמחור תמחור במטמון תכלת עבור Redis?
תשובה: השימוש ב- Redis Cluster מציע את היכולת לפצל אוטומטית את מערך הנתונים שלך בין צמתים מרובים, המשך בפעולות כאשר תת קבוצה של הצמתים חווה תקלות או שאינן מסוגלות לתקשר עם שאר האשכול ולהשיג יותר תפוקה וגודל זיכרון ככל שתגדיל את מספר השברים.
תשובה: לא, אשכולות לא מגדילים את מספר החיבורים הזמינים עבור מטמון מקובץ.
תשובה: מטמון Azure עבור Redis תומך כעת עד 30 שרים עבור מטמון מקובץ.
תשובה: מגבלת השרש למטמון עם גרסת 4 של Redis היא 10.
תשובה: מגבלת החריפה למטמון שנפגעו מפרישת שירות הענן היא 10.
תשובה: תחזוקה לצומת במטמון מקובץ לוקח בערך 20 דקות לעדכן. פעולות תחזוקה אחרות ייחסמו בזמן שהמטמון שלך נמצא בתחזוקה.
תשובה: כדי להגדיר אשכולות, אתה יכול לאפשר זאת במהלך יצירת מטמון בפורטל Azure. עליך לבחור את סוג המטמון המתאים, לקבוע את התצורה של ההגדרות למטמון שלך ולאפשר אשכול בכרטיסייה מתקדמת.
תשובה: המגבלות כוללות מגבלת SHARD של 10 עבור מטמון עם Redis גרסה 4, מגבלת SHARD של 10 עבור מטמון שנפגע מפרישת שירות ענן, וזמן תחזוקה ארוך יותר לצמתים במטמון מקובץ.
תשובה: השלבים כוללים כניסה לפורטל Azure, בחירת יצירת משאב, בחירת מטמון Azure עבור Redis, קביעת תצורה של הגדרות המטמון, בחירת אפשרויות הרשת המתאימות וקביעת תצורה של ההגדרות המתקדמות כגון אשכולות.
תשובה: מטמון מקובץ עם שני העתקים יכול לתמוך בעד 20 שרדטים.
תשובה: מטמון מקובץ עם שלוש העתקים יכול לתמוך בעד 15 שרים.
תשובה: כל שרד מייצג זוג מטמון ראשוני/העתק המנוהל על ידי Azure באשכול Redis.
תשובה: שכפול באשכול redis במטמון Azure עבור redis מנוהל על ידי Azure, שם לכל שרד יש זוג עיקרי/העתק.
תשובה: אתה יכול להתחבר למטמון פרימיום במטמון Azure עבור Redis או בפומבי, באמצעות כתובות IP ציבוריות או נקודות קצה של שירות, או באופן פרטי, באמצעות נקודת קצה פרטית.
תשובה: גודל המטמון ותמחור תמחור קובעים את הגודל, הביצועים והתכונות הזמינים עבור המטמון. הבחירה צריכה להיות מבוססת על התפוקה הרצויה, גודל הזיכרון ושיקולי העלויות. פורטל Azure מספק הנחיות לבחירת גודל המטמון המתאים ותמחור תמחור.
אשכול Redis vs. סנטינל 12 במאי 2014
הרשימה הבאה מכילה תשובות לשאלות שנשאלו בדרך כלל על מטמון תכלת לאשכול מחדש של Redis.
קבע את התצורה של אשכולות Redis עבור מטמון תכלת פרימיום למופע Redis
מטמון Azure עבור Redis מציע לאשכול Redis כפי שהוא מיושם ב- Redis. עם אשכול Redis, אתה מקבל את היתרונות הבאים:
- היכולת לפצל אוטומטית את מערך הנתונים שלך בין צמתים מרובים.
- היכולת להמשיך בפעולות כאשר תת קבוצה של הצמתים חווה כישלונות או אינה מסוגלת לתקשר עם שאר האשכול.
- תפוקה רבה יותר: התפוקה גדלה באופן לינארי ככל שתגדיל את מספר השברים.
- גודל זיכרון נוסף: גדל באופן לינארי ככל שתגדיל את מספר השברים.
אשכולות לא מגדילים את מספר החיבורים הזמינים עבור מטמון מקובץ. למידע נוסף על גודל, תפוקה ורוחב פס עם מטמון פרימיום, ראה בחירת הרובד הנכון
ב- Azure, Redis Cluster מוצע כמודל ראשי/העתק בו לכל שחר.
מטמון Azure עבור Redis תומך כעת עד 30 שרדטים (תצוגה מקדימה)
מטמון Azure עבור Redis תומך כעת ב -30 שרוחות למטמון מקובץ. מטמון מקובץ המוגדר עם שני העתקים יכולים לתמוך עד 20 שרים ומטמון מקובץ המוגדרים עם שלושה העתקים יכולים לתמוך עד 15 שרים.
מגבלות
- מגבלת Shard למטונים עם גרסת 4 של Redis היא 10.
- מגבלת החריפה למטמון שנפגעו מפרישת שירות הענן היא 10.
- התחזוקה תימשך זמן רב יותר מכיוון שכל צומת לוקח בערך 20 דקות לעדכן. פעולות תחזוקה אחרות ייחסמו בזמן שהמטמון שלך נמצא בתחזוקה.
הגדר אשכולות
אשכול מופעל מטמון Azure חדש ל- Redis משמאל במהלך יצירת מטמון.
- ליצירת מטמון פרימיום, היכנס לפורטל Azure ובחר ליצור משאב. מלבד יצירת מטמון בפורטל Azure, אתה יכול גם ליצור אותם באמצעות תבניות מנהל משאבים, PowerShell או Azure CLI. למידע נוסף על יצירת מטמון Azure עבור Redis, ראה צור מטמון.
- על חָדָשׁ דף, בחר מסדי נתונים ואז בחר מטמון Azure עבור redis.
- על מטמון חדש של Redis דף, קבע את התצורה של ההגדרות למטמון הפרימיום החדש שלך.
הגדרה ערך מוצע תיאור שם DNS הזן שם ייחודי גלובלי. שם המטמון חייב להיות מחרוזת בין 1 ל 63 תווים. המחרוזת יכולה להכיל רק מספרים, אותיות או מקפים. השם חייב להתחיל ולהסתיים עם מספר או אותיות, ואינו יכול להכיל מקפים רצופים. מופע המטמון שלך שם מארח יהיה .redis.מטמון.חלונות.נֶטוֹ. מִנוּי נפתח ובחר את המנוי שלך. המנוי שמתחת ליצור מטמון Azure החדש הזה למופע Redis. קבוצת משאבים נפתח ובחר קבוצת משאבים, או בחר צור חדש ולהזין שם קבוצת משאבים חדש. שם לקבוצת המשאבים בה ניתן ליצור את המטמון שלך ומשאבים אחרים. על ידי הצבת כל משאבי האפליקציה שלך בקבוצת משאבים אחת, אתה יכול בקלות לנהל או למחוק אותם יחד. מקום נפתח ובחר מיקום. בחר אזור ליד שירותים אחרים שישתמשו במטמון שלך. סוג מטמון נפתח ובחר מטמון פרימיום להגדרת תצורת תכונות פרימיום. לפרטים, עיין במטמון Azure לתמחור Redis. שכבת התמחור קובעת את הגודל, הביצועים והתכונות הזמינות למטמון. למידע נוסף, עיין במטמון Azure לקבלת סקירה כללית של Redis. - בחר את רשת כרטיסייה או בחר ב רשת כפתור בתחתית העמוד.
- בתוך ה רשת כרטיסייה, בחר את שיטת הקישוריות שלך. עבור מקרים של מטמון פרימיום, באפשרותך להתחבר בפומבי, באמצעות כתובות IP ציבוריות או נקודות קצה של שירות, או באופן פרטי, באמצעות נקודת קצה פרטית.
- בחר את הבא: מתקדם כרטיסייה או בחר ב הבא: מתקדם כפתור בתחתית העמוד.
- בתוך ה מִתקַדֵם כרטיסייה למופע מטמון פרימיום, קבעו את התצורה של ההגדרות עבור יציאת ללא TLS, אשכולות והתמדה בנתונים. כדי לאפשר אשכולות, בחר לְאַפשֵׁר. אתה יכול לקבל עד 10 שברים באשכול. לאחר הבחירה לְאַפשֵׁר, החלק את המחוון או הקלד מספר בין 1 ל -10 עבור ספירת שרד ובחר בסדר. כל שחר הוא זוג מטמון ראשוני/העתק המנוהל על ידי Azure, והגודל הכולל של המטמון מחושב על ידי הכפלת מספר השברים לפי גודל המטמון שנבחר ברובד התמחור. לאחר יצירת המטמון, אתה מתחבר אליו ומשתמש בו בדיוק כמו מטמון שאינו מקובץ. Redis מפיצה את הנתונים בכל רחבי המטמון. אם אבחון מופעל, הערכים נלכדים בנפרד עבור כל שחר.
- בחר את הבא: תגיות כרטיסייה או בחר ב הבא: תגיות כפתור בתחתית העמוד.
- לחלופין, ב תגיות כרטיסייה, הזן את השם והערך אם ברצונך לסווג את המשאב.
- בחר סקירה + צור. אתה נלקח לכרטיסייה סקירה + צור בה Azure מאמת את התצורה שלך.
- לאחר מופיעה ההודעה של אימות ירוק, בחר לִיצוֹר.
לוקח זמן עד שהמטמון יוצר. אתה יכול לעקוב אחר ההתקדמות על מטמון התכול עבור Redis סקירה כללית עמוד. מתי סטָטוּס מופעים כמו רץ, המטמון מוכן לשימוש.
ישנם כמה הבדלים קלים הנדרשים ביישום הלקוח שלך כאשר מוגדר אשכול. למידע נוסף, ראה האם עלי לבצע שינויים ביישום הלקוח שלי כדי להשתמש באשכול?
לקוד לדוגמא בעבודה עם אשכולות עם StackexChange.לקוח Redis, ראה את האשכול.חלק CS של מדגם Hello World.
שנה את גודל האשכול במטמון פרימיום פועל
כדי לשנות את גודל האשכול במטמון פרימיום שיצרת קודם לכן, וכבר פועל עם מופעלת אשכולות, בחר גודל אשכול מתפריט המשאבים.
כדי לשנות את גודל האשכול, השתמש במחוון או הקלד מספר בין 1 ל -10 ב ספירת שרד תיבת טקסט. לאחר מכן, בחר בסדר לשמור.
הגדלת גודל האשכול מגדילה את תפוקת מקסימום וגודל המטמון. הגדלת גודל האשכול לא מגדילה את המקסימום. חיבורים זמינים ללקוחות.
קנה מידה של אשכול מפעיל את פקודת הנדידה, שהיא פקודה יקרה, ולכן לשם השפעה מינימלית, שקול להפעיל פעולה זו בשעות שאינן שיא. במהלך תהליך ההגירה תראה עולה בעומס השרת. קנה מידה של אשכול הוא תהליך ריצה ארוך ומשך הזמן שנלקח תלוי במספר המפתחות ובגודל הערכים הקשורים לאותם מפתחות.
שאלות נפוצות באשכול
הרשימה הבאה מכילה תשובות לשאלות שנשאלו בדרך כלל על מטמון תכלת לאשכול מחדש של Redis.
- האם עלי לבצע שינויים ביישום הלקוח שלי כדי להשתמש באשכול?
- כיצד מופצים מפתחות באשכול?
- מהו גודל המטמון הגדול ביותר שאני יכול ליצור?
- האם כל לקוחות Redis תומכים באשכול?
- כיצד אוכל להתחבר למטמון שלי כאשר האשכול מופעל?
- האם אוכל להתחבר ישירות לשברים האישיים של המטמון שלי?
- האם אוכל להגדיר אשכולות למטמון שנוצר בעבר?
- האם אוכל להגדיר אשכולות למטמון בסיסי או סטנדרטי?
- האם אוכל להשתמש באשכול עם ה- Redis ASP.מצב מושב נטו ופלט ספקי מטמון?
- אני מקבל חריגים מהלך בעת שימוש ב- StackexChange.מחדש ואשכול, מה עלי לעשות?
- [האם גודל גודל באמצעות אשכולות עוזרים להגדיל את מספר חיבורי הלקוח הנתמכים?] (#האם מדרגה באמצעות אשכולות עזרה להגדלת מספר חיבורי הלקוח הנתמכים?)
האם עלי לבצע שינויים ביישום הלקוח שלי כדי להשתמש באשכול?
- כאשר האשכול מופעל, רק מסד נתונים 0 זמין. אם יישום הלקוח שלך משתמש במסדי נתונים מרובים והוא מנסה לקרוא או לכתוב למסד נתונים שאינו 0, החריג הבא נזרק: חריג לא מטופל: stackexchange.Redis.RemisconnectionException: פרוטוקולולור על get —> stackexchange.Redis.RemiscommandException: מספר מסדי נתונים אינם נתמכים בשרת זה; לא ניתן לעבור למסד נתונים: 6 למידע נוסף, ראה מפרט אשכול Redis – תת -קבוצה מיושמת.
- אם אתה משתמש ב- stackexchange.Redis, עליך להשתמש 1.0.481 ואילך. אתה מתחבר למטמון באמצעות אותן נקודות קצה, יציאות ומפתחות שבהם אתה משתמש בעת חיבור למטמון בו מושבת האשכול. ההבדל היחיד הוא שכל הקריאות והכתבים חייבים להיעשות למסד נתונים 0. ללקוחות אחרים עשויים להיות דרישות שונות. ראה האם כל לקוחות Redis תומכים באשכול?
- אם היישום שלך משתמש בפעולות מפתח מרובות שנקבעו לפקודה יחידה, כל המפתחות חייבים להיות ממוקמים באותה שבר. כדי לאתר מפתחות באותו שרד, ראה כיצד מופצים מפתחות באשכול?
- אם אתה משתמש ב- Redis ASP.ספק מצב מושב נטו, עליך להשתמש ב -2.0.1 ומעלה. ראה האם אוכל להשתמש באשכול עם ה- Redis ASP.מצב מושב נטו ופלט ספקי מטמון?
כיצד מופצים מפתחות באשכול?
לפי תיעוד מודל הפצת מקשי Redis Keys: שטח המפתח מפוצל ל 16,384 משבצות. כל מפתח הוא חסיד ומוקצה לאחד החריצים הללו, המופצים על צמתים של האשכול. באפשרותך להגדיר איזה חלק מהמפתח הוא hashed כדי להבטיח שמפתחות מרובים ממוקמים באותו שבר באמצעות תגיות hash.
- מפתחות עם תג חשיש – אם חלק מהמפתח סגור ב < and >, רק חלק מהמפתח הוא חסיד למטרות קביעת משבצת החשיש של מפתח. לדוגמה, שלושת המפתחות הבאים היו ממוקמים באותו שרד: 1, 2 ו -3 מכיוון שרק חלק המפתח של השם הוא hashed. לקבלת רשימה מלאה של מפרטי תג חשיש מפתחות, עיין בתגי חשיש מקשים.
- מפתחות ללא תג חשיש – כל שם המפתח משמש ל- Hashing, וכתוצאה מכך התפלגות סטטיסטית אפילו על פני השרדים של המטמון.
לקבלת הביצועים והתפוקה הטובים ביותר, אנו ממליצים להפיץ את המפתחות באופן שווה. אם אתה משתמש במפתחות עם תג חשיש, זו האחריות של היישום להבטיח שהמפתחות מופצים באופן שווה.
לקבלת קוד לדוגמא על עבודה עם מקשרים ואיתור מפתחות באותו שבר עם StackexChange.לקוח Redis, ראה את האשכול.חלק CS של מדגם Hello World.
מהו גודל המטמון הגדול ביותר שאני יכול ליצור?
גודל המטמון הגדול ביותר שיכול להיות לך הוא 1.2 TB. תוצאה זו היא מטמון P5 מקובץ עם 10 שברים. למידע נוסף, עיין במטמון Azure לתמחור Redis.
האם כל לקוחות Redis תומכים באשכול?
ספריות לקוחות רבות תומכות באשכולות מחדש של Redis אך לא בכולם. עיין בתיעוד עבור הספרייה בה אתה משתמש כדי לוודא שאתה משתמש בספריה ובגרסה התומכים באשכול. Stackexchange.Redis היא ספרייה אחת שתומכת באשכולות, בגרסאות החדשות יותר שלה. למידע נוסף על לקוחות אחרים, ראה קנה מידה עם אשכול Redis.
פרוטוקול האשכול של Redis מחייב כל לקוח להתחבר לכל שרד ישירות במצב אשכול, ומגדיר גם תגובות שגיאה חדשות כמו ‘נעים’ Na ‘צולבים’. כשאתה מנסה להשתמש בספריית לקוחות שאינה תומכת באשכולות, עם מטמון במצב אשכול, התוצאה יכולה להיות הרבה חריגים לניתוב מחדש, או פשוט לשבור את היישום שלך, אם אתה מבצע בקשות מרובות מפתח חוצה חריפים.
אם אתה משתמש ב- stackexchange.Redis כלקוח שלך, וודא שאתה משתמש בגרסה האחרונה של StackexChange.Redis 1.0.481 ואילך לאשכולות לעבוד נכון. למידע נוסף על בעיות עם חריגות מהלך, ראה חריגים מהלך.
כיצד אוכל להתחבר למטמון שלי כאשר האשכול מופעל?
אתה יכול להתחבר למטמון שלך באמצעות אותן נקודות קצה, יציאות ומפתחות שאתה משתמש בו בעת חיבור למטמון שאינו מופעל על אשכול. Redis מנהל את האשכולות על ה- Backend כדי שלא תצטרך לנהל אותו מהלקוח שלך.
האם אוכל להתחבר ישירות לשברים האישיים של המטמון שלי?
פרוטוקול האשכול מחייב את הלקוח ליצור חיבורי Shard הנכונים, כך שהלקוח צריך ליצור עבורך חיבורי שיתוף. עם זאת, כל שרד מורכב מזוג מטמון ראשוני/העתק, הידוע באופן קולקטיבי כמופע מטמון. אתה יכול להתחבר למופעי מטמון אלה באמצעות כלי השירות Redis-CLI בסניף הלא יציב של מאגר Redis ב- Github. גרסה זו מיישמת תמיכה בסיסית כאשר התחיל במתג -C. למידע נוסף, עיין במדריך אשכול Redis.
עבור ללא TLS, השתמש בפקודות הבאות.
Redis-Cli.exe –h> -p 13000 (להתחבר למופע 0) redis -cli.exe –h> -p 13001 (להתחבר למופע 1) redis -cli.exe –h> -p 13002 (להתחבר למופע 2) . Redis-Cli.exe –h> -p 1300n (להתחבר למופע n)
עבור TLS, החלף 1300N ב- 1500N .
האם אוכל להגדיר אשכולות למטמון שנוצר בעבר?
כן. ראשית, וודא שהמטמון שלך הוא פרימיום על ידי קנה מידה. בשלב הבא תוכל לראות את אפשרויות תצורת האשכול, כולל אפשרות להפעיל אשכול. שנה את גודל האשכול לאחר יצירת המטמון, או לאחר שהאפשרת לאשכול בפעם הראשונה.
אינך יכול לבטל את האשכולות. ומטמון עם אשכול מופעל ורק שרד אחד מתנהג באופן שונה מאשר מטמון באותו גודל עם לא אשכול.
האם אוכל להגדיר אשכולות למטמון בסיסי או סטנדרטי?
אשכולות זמינים רק למטמון פרימיום.
האם אוכל להשתמש באשכול עם ה- Redis ASP.מצב מושב נטו ופלט ספקי מטמון?
- ספק מטמון פלט מחדש – אין צורך בשינויים.
- ספקית מדינת הפגישה מחדש – כדי להשתמש באשכול, עליך להשתמש ב- RedissessionStateProvider 2.0.1 ומעלה או חריג נזרק, שהוא שינוי שובר. למידע נוסף ראה V2.0.0 פרטי שינוי שינויים.
אני מקבל חריגים מהלך בעת שימוש ב- StackexChange.מחדש ואשכול, מה עלי לעשות?
אם אתה משתמש ב- stackexchange.מחדש ולקבל חריגים מהלך בעת שימוש באשכול, וודא שאתה משתמש ב- StackexChange.Redis 1.1.603 ואילך. לקבלת הוראות להגדרת תצורה שלך .יישומים נטו לשימוש StackexChange.מחדש, ראה קביעת תצורה של לקוחות המטמון.
האם גודל קנה מידה באמצעות אשכולות עוזר להגדיל את מספר חיבורי הלקוח הנתמכים?
לא, קנה מידה באמצעות אשכולות והגדלת מספר השברים לא עוזר בהגדלת מספר חיבורי הלקוח הנתמכים.
הצעדים הבאים
למידע נוסף על מטמון Azure לתכונות Redis.
אשכול Redis vs. זָקִיף 12 במאי 2014
זקיף ואשכול מיועדים לשימושים שונים, מדריך זה יסביר את ההבדלים ומתי להשתמש בכל אחד מהם.
מה הם?
ל- Redis שתי קטגוריות עיקריות של הפעלת מקרים מרובים. יש “שכפול סטנדרטי” ובקרוב בקרוב “אשכול Redis”. לניהול שכפול אתה משתמש ב- Sentinel. אשכול בעיקר מנהל את עצמו אך אתה יכול לשלב את השניים עבור שכפול מורחב, אם מורכב, HA +.
מדריך זה יעבור אתכם דרך כל אחד על מנת לפתח הבנה טובה יותר של ההבדלים ולהשתמש במקרים עבור כל אחד מהם. נתחיל באשכול Redis. שים לב שבזמן שנכתב מדריך זה, האשכול עדיין לא נמצא במהדורת הפקה והפרטים עשויים להשתנות.
אשכול Redis
אשכול Redis הוא בעיקר אמצעי לנתח נתונים על מקרים מרובים באופן אוטומטי. זה אמור לצאת ב- Redis 3.0.
מה שזה עושה
האשכול הוא redis המוגדר להפיץ נתונים על מספר נתון של מקרים Redis. כדי לנהל אילו נתונים הם היכן, לאשכול יש מפרט פרוטוקול המאפשר ללקוחות לדבר עם כל אדון באשכול. אם המפתח המופעל עליו מאוחסן באופן מקומי, הנתונים מוחזרים כרגילים.
עם זאת, אם הנתונים מאוחסנים בצומת שונה, מוחזר תגובה נרגעת ואומר ללקוח עם איזה מאסטר לדבר איתו במקום. מנגנון זה דורש אפוא תמיכה בצד הלקוח באשכול
שים לב כי האשכול אינו מספק ישירות HA או שכפול.
לאיזה אשכול מיועד
מקרי השימוש באשכול מתפתחים סביב הפצת עומס (כותב ספציפית) ועולים על יכולות זיכרון חד-מפקדות יחיד. אם יש לך נתונים של 2T, אל תרצה לכתוב קוד סרוק בקוד הגישה שלך, אך יש לך ספרייה התומכת באשכול, סביר להניח שאתה רוצה אשכול Redis. אם יש לך נפח כתיבה גבוה למגוון רחב של מפתחות וספריית הלקוחות שלך תומכת באשכול, אשכול יהיה גם מתאים.
Redis Sentinel
Redis תומך במספר עבדים המשכפלים נתונים מצומת אב. זה מספק צומת גיבוי שיש לו את הנתונים שלך, מוכן לשרת נתונים. עם זאת, על מנת לספק כישלון אוטומטי אתה זקוק לכלי כלשהו. עבור Redis כלי זה נקרא Sentinel. במסמך זה נשתמש במונח “תַרמִיל” לתאר אדון Redis עם עבדים אחד או יותר; זה נמנע בלבול עם המונח “אֶשׁכּוֹל”.
מה שזה עושה
Sentinel מוגדר להצביע על אדון שאתה זקוק לו. לאחר מכן הוא ישאל את המאסטר לכל העבדים המחוברים. לאחר שקבע את התצורה של התרמיל הוא ימשיך לפקח על כל צומת ועם אישור של אדון למטה הוא יקדם עבד ויגדיר מחדש כל עבד כדי להצביע על המאסטר החדש.
על מנת להשתמש בזה לניהול חיבור לקוח שקוף תצטרך לשים את צומת הראשי מאחורי IP וירטואלי או איזון עומס שיודע, או שניתן להגדיר אותו באופן דינמי, איזה צומת הוא המאסטר.
האפשרות האחרת היא להשתמש בלקוח אשר יישם תמיכה ב- Sentinel.
Sentinel משתמש במנגנון הצבעה+Quorum, כך שאתה צריך לפחות שלושה צמתים של Sentinel העובדים יחד. אני מתייחס לזה כאל קבוצת הכוכבים של Sentinel. לכל תרמיל מקבל שם בקונסטלציה. זה מספק יכולת נוספת אם משתמשים בקוד לקוח בעל יכולת Sentinel. בתרחיש זה תוכלו להשתמש ב- Sentinel לגילוי שירות.
למה מיועד
מקרה השימוש הסטנדרטי עבור Sentinel הוא אמן יחיד עם 1-2 עבדים שמוכנים לקידום. לאחר מכן משתמשים ב- Sentinel כדי לשמור.
לחלופין, אפשר לפרוס זקיף יחיד ולגרום לכל אמן עצמאי או לכל תרמיל להתחבר אליו כדי לספק גילוי שירות. בתרחיש זה אולי יש לך “WebCache” מופע ו “מדדים” למשל. עם תמיכה בצד הלקוח המתאים היישומים שלך יתחברו למופע Sentinel ולקבל את פרטי החיבור עבור אחד מהם “WebCache” אוֹ “מדדים” מבלי להזדקק למידע חיבור ייחודי לכל לקוח.
באילו להשתמש
אם דרישות הזיכרון שלך עולות על זיכרון המערכת או שאתה צריך להפיץ כתיבה על פני צומת מרובה כדי לשמור על רמות ביצועים, Redis Cluster הוא המקום בו אתה צריך להסתכל.
אם אתה מחפש זמינות גבוהה, אתה’אני רוצה לבדוק יותר את הפריסה של Sentinel.
קריאה נוספת
- באמצעות Sentinel
- ביצועים גבוהים ומדרגיות ליניארית עבור עד 1,000 צמתים. אין פרוקסי, משתמשים בשכפול אסינכרוני ולא מבוצעים פעולות מיזוג על ערכים.
- דרגה מקובלת של בטיחות כתיבה. המערכת מנסה לשמור על כל הכותבים שמקורם בלקוחות הקשורים לרוב צמתים המאסטר. בדרך כלל, ישנם חלונות קטנים של זמן שבהם ניתן לאבד כתיבה מוכרת.
- הוא מסוגל לשרוד מחיצות בהן ניתן להגיע לרוב צמתים הראשי ויש לפחות עבד אחד שניתן להגיע אליו לכל צומת אב שכבר לא ניתן להגיע אליו.
- BIND: כברירת מחדל, אם זה לא צוין, Redis מקשיב לחיבורים מכל ממשקי הרשת הזמינים בשרת. אפשר להאזין לממשקים שנבחרו אחד או מרובים בלבד.
- מצב מוגן: מצב מוגן הוא שכבה של הגנה על אבטחה, על מנת להימנע מכך שמופעי הפתיחה שנשארים פתוחים באינטרנט ניגשים ומנוצלים. כברירת מחדל המצב המוגן מופעל.
- יציאה: קבל חיבורים ביציאה שצוינה, ברירת המחדל היא 6379. אם צוין יציאה 0 Redis לא יקשיב בשקע TCP.
- מופעל על אשכול: מאפשר/מבטל את התמיכה באשכול מחדש של Redis בצומת Redis ספציפי. אם הוא מושבת, המופע מתחיל כמופע עצמאי כרגיל.
- קובץ Cluster-Config: הקובץ בו צומת אשכול Redis ממשיך אוטומטית את תצורת האשכול בכל פעם שיש שינוי, על מנת שיוכל לקרוא אותו מחדש בעת ההפעלה.
- זמן צומת אשכול: משך הזמן המרבי (באלפיות השנייה) צומת אשכול מחדש של Redis יכול להיות לא זמין, מבלי שהוא נחשב ככשל. אם לא ניתן להגיע לצומת אב יותר משך הזמן שצוין, הוא ייכשל על ידי עבדיו.
- Appendonly: הקובץ המוסף בלבד הוא מצב התמדה אלטרנטיבי המספק עמידות טובה בהרבה. במקרים המשתמשים במדיניות ברירת המחדל של נתוני FSYNC, Redis יכול לאבד רק שנייה אחת מהכותבת בכישלון שרת כמו הפסקת חשמל, או כתיבה יחידה אם משהו לא בסדר בתהליך Redis עצמו, אך מערכת ההפעלה עדיין פועלת כראוי.
- קהילת Redis
- שכפול מחדש
- הדרכה לאשכול Redis
- מפרט אשכול מחדש של Redis
- מבוא לריצוף אשכולות Redis
- כיצד להגדיר את אשכול Redis ממקור
- שכפול מחדש של Redis לעומת Sharding
- אשכול Redis לעומת שכפול Redis
- Redis Sentinel & Redis Cluster – מה?
- איזו פריסת Redis אתה צריך?
ביל אנדרסון [בערך]
ביל אנדרסון הוא מדען מטורף העובד על דרכים מוזרות, אך מגניבות ועוצמתיות, להשתמש ב- Redis. בזמנו הפנוי הוא נהנה לשחק Minecraft עם אשתו ושתי בנות.
התקנת אשכול Redis (מצב אשכול מופעל) עם כישלון אוטומטי
Redis הוא מאגר נתונים של קוד פתוח בזיכרון המשמש כמסד נתונים או מטמון. יש לו שכפול מובנה ומספק זמינות גבוהה באמצעות Redis Sentinel ומחיצה אוטומטית עם אשכול Redis. בבלוג זה נראה מה זה ואיך להתקין אשכול Redis.
מה זה אשכול Redis?
Cluster Redis הוא תכונה מובנית Redis המציעה סרוק אוטומטי, שכפול וזמינות גבוהה שיושמה בעבר באמצעות Sentinels. יש לו את היכולת לפצל אוטומטית את מערך הנתונים שלך בין צמתים מרובים ולהמשיך בפעולות כאשר תת -קבוצה של הצמתים חווים כישלונות או שאינם מסוגלים לתקשר עם שאר האשכול.
יעדי אשכול Redis הם:
עכשיו כשאנחנו יודעים מה זה, תן’s ראה כיצד להתקין אותו.
כיצד להתקין את אשכול Redis
על פי התיעוד הרשמי, האשכול המינימלי שעובד כצפוי דורש להכיל לפחות שלושה צמתים אב, אך למעשה, ההמלצה היא להיות אשכול של שישה צמתים עם שלושה אדונים ושלושה צמתים לעבדים, אז תנו’תעשה את זה.
לדוגמה זו, נתקין את אשכול Redis ב- CentOS 8 באמצעות הטופולוגיה הבאה:
אדון 1: 10.10.10.121 אדון 2: 10.10.10.122 אדון 3: 10.10.10.123 עבד 1: 10.10.10.124 עבד 2: 10.10.10.125 עבד 3: 10.10.10.126
יש להפעיל את הפקודות הבאות בכל הצמתים, המאסטר והעבד.
כברירת מחדל, במהלך יצירת פוסט בבלוג זה, גרסת Redis הזמינה ב- CentOS 8 היא 5.0.3, אז תן’S השתמש במאגר Remi כדי שיהיה לך את הגרסה היציבה הנוכחית 6.2:
$ DNF התקן https: // rpms.רמירפו.Net/Enterprise/Remi-release-8.RPM -Y $ DNF מודול התקן redis: remi -6.2 -y
הפעל את שירות Redis:
$ systemctl אפשר redis.שֵׁרוּת
כדי להגדיר את תצורת אשכול Redis שלך, עליך לערוך את קובץ התצורה של Redis /etc /redis.conf ושנה את הפרמטרים הבאים:
$ vi /etc /redis.Conf Bind 10.10.10.121 #הפעל כתובת IP זו לכתובת ה- IP המקומית בכל צומת מצב מוגן ללא יציאה 7000 מאפשרים אשכולות כן צמתים-קובץ אשכול-קונדס-אשכול.Conf Cluster-Node-Timeout 15000 Appendonly כן
פרמטרים אלה הם:
כל צומת אשכול Redis דורש שני חיבורי TCP פתוחים. יציאת ה- TCP הרגילה של Redis המשמשת לשרת לקוחות, כברירת מחדל 6379, והיציאה שהושגה על ידי הוספת 10000 ליציאת הנתונים, כך שברירת מחדל 16379. יציאה שנייה זו מוקצה לאוטובוס האשכול, המשמש על ידי צמתים לגילוי כישלונות, עדכון תצורה, הרשאת כישלון ועוד.
עכשיו, אתה יכול להתחיל את שירות Redis:
$ systemctl התחל redis.שֵׁרוּת
בקובץ יומן Redis, כברירת מחדל/var/log/redis/redis.יומן, תראה את זה:
76: M 02 ביולי 2021 18:06:17.658 * מוכן לקבל חיבורים
עכשיו הכל מוכן, אתה צריך ליצור את האשכול באמצעות הכלי Redis-CLI. לשם כך עליכם להריץ את הפקודה הבאה בצומת אחד בלבד:
$ redis-cli-Cluster Create 10.10.10.121: 7000 10.10.10.122: 7000 10.10.10.123: 7000 10.10.10.124: 7000 10.10.10.125: 7000 10.10.10.126: 7000-מחזור-תשואה 1
בפקודה זו עליך להוסיף את כתובת ה- IP ואת יציאת ה- Redis עבור כל צומת. שלושת הצמתים הראשונים יהיו צמתי הראשי, והשאר העבדים. האשכול-נשכרות 1 פירושו צומת עבדים אחד לכל מאסטר. הפלט של פקודה זו ייראה משהו כזה:
>>> ביצוע הקצאת משבצות חשיש על 6 צמתים. מאסטר [0] -> משבצות 0 - 5460 מאסטר [1] -> משבצות 5461 - 10922 מאסטר [2] -> משבצות 10923 - 16383 הוספת העתק 10.10.10.125: 7000 עד 10.10.10.121: 7000 הוספת העתק 10.10.10.126: 7000 עד 10.10.10.122: 7000 הוספת העתק 10.10.10.124: 7000 עד 10.10.10.123: 7000 מ ': 4394d8eb03de1f524b56cb385f0eb9052ce65283 10.10.10.121: 7000 משבצות: [0-5460] (5461 משבצות) מאסטר M: 5CC0F693985913C553C6901E102E3CB8D6678BD 10.10.10.122: 7000 משבצות: [5461-10922] (5462 משבצות) מאסטר M: 22DE56650B3714C1C42FC0D120F80C66C24D8795 10.10.10.123: 7000 משבצות: [10923-16383] (5461 משבצות) מאסטר S: 8675CD30FDD4EFA088634E50FBD5C0675238A35E 10.10.10.124: 7000 משכפולים 22DE56650B3714C1C42FC0D120F80C66C24D8795 S: AD0F52210DDA1736A1B5467CD6E797F011A192097 10.10.10.125: 7000 משכפולים 4394D8EB03DE1F524B56CB385F0EB9052CE65283 S: 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: 7000 משכפולים 5CC0F693985913C553C6901E102E3CB8D6678BD אני יכול להגדיר את התצורה לעיל? (הקלד 'כן' כדי לקבל):
לאחר קבלת התצורה, ייווצר האשכול:
>>> צמתים מעודכנים >>> הקצה תקופת תצורה שונה לכל צומת >>> שליחת אשכול פגוש הודעות כדי להצטרף לאשכול הממתין לאשכול שיצטרף . >>> ביצוע בדיקת אשכול (באמצעות צומת 10.10.10.121: 7000) M: 4394D8EB03DE1F524B56CB385F0EB9052CE65283 10 10.10.10.121: 7000 משבצות: [0-5460] (5461 משבצות) אדון 1 העתק (ים) נוספים S: 184ADA329264E994781412F3986C425A248F386 10.10.10.126: 7000 משבצות: (0 משבצות) משכפלים עבדים 5CC0F693985913C553C6901E102EA3CB8D6678BD M: 5CC0F693985913C553C6901E1022CB8D6678BD 10.10.10.122: 7000 משבצות: [5461-10922] (5462 משבצות) אדון 1 העתק נוסף (ים) M: 22DE56650B3714C1C42FC0D120F80C66C24D8795 10 10.10.10.123: 7000 משבצות: [10923-16383] (5461 משבצות) אדון 1 העתק נוסף (ים) S: AD0F5210DDA1736A1B5467CD6E797F011A192097 10.10.10.125: 7000 משבצות: (0 משבצות) משכפולי עבדים 4394D8EB03DE1F524B56CB385F0EB9052CE65283 S: 8675CD30FDD4EFA088634E50FBD5C067523AL35E 10.10.10.124: 7000 משבצות: (0 חריצים) משכפולי עבדים 22DE56650B3714C1C42FC0D120F80C66C24D8795 [אישור] כל הצמתים מסכימים לגבי תצורת משבצות. >>> בדוק אם יש משבצות פתוחות. >>> בדוק כיסוי משבצות. [בסדר] כל משבצות 16384 מכוסות.
אם תסתכל על קובץ יומן האב, תראה:
3543: M 02 ביולי 2021 19:40:23.250 # configepoch הגדר 1 באמצעות אשכול Set-Config-Epoch 3543: M 02 ביולי 2021 19:40:23.258 # כתובת IP לצומת זה עודכנה ל -10.10.10.121 3543: M 02 ביולי 2021 19:40:25.281 * העתק 10.10.10.125: 7000 מבקשים סנכרון 3543: M 02 ביולי 2021 19:40:25.281 * סינכרון חלקי לא מקובל: שכפול מזהה אי התאמה (העתק ביקש '1F42A85E22D8A19817844AEAC14FBB8201A6FC88', שכפול שלי הם '9F8DB08A36207C17800 F1900101010101010101019003A6 0000000000000000000000000000 ') 3543: M 02 ביולי 2021 19:40:25.281 * צבר שכפול נוצר, מזהי השכפול החדשים שלי הם '21ABFCA3B9405356569B2684C6D68C0D2EC19B3B' ו- '0000000000000000000000000000000000000000' 3543: M 02 Jul 2021 19.281 * התחלת BGSAVE לסנכרון עם יעד: דיסק 3543: M 02 ביולי 2021 19:40:25.284 * חיסכון ברקע החל על ידי PID 3289 3289: C 02 ביולי 2021 19:40:25.312 * DB נשמר בדיסק 3289: C 02 ביולי 2021 19:40:25.313 * RDB: 0 MB של זיכרון המשמש את העתקה-על-כתיבה 3543: M 02 ביולי 2021 19:40:25.369 * חיסכון ברקע הסתיים בהצלחה 3543: M 02 ביולי 2021 19:40:25.369 * סנכרון עם העתק 10.10.10.125: 7000 הצליחו 3543: M 02 ביולי 2021 19:40:28.180 # מצב אשכול השתנה: בסדר
והעתק’קובץ יומן S:
11531: M 02 ביולי 2021 19:40:23.253 # configepoch הגדר 4 באמצעות אשכול Set-Config-Epoch 11531: M 02 ביולי 2021 19:40:23.357 # כתובת IP לצומת זה עודכנה ל 10.10.10.124 11531: S 02 ביולי 2021 19:40:25.277 * לפני שהופך להעתק, משתמש בפרמטרים של אמן משלי כדי לסנתז אדון במטמון: ייתכן שאוכל לסנכרן עם המאסטר החדש עם רק העברה חלקית. 11531: S 02 ביולי 2021 19:40:25.277 * חיבור למאסטר 10.10.10.123: 7000 11531: S 02 ביולי 2021 19:40:25.277 * סנכרון העתק מאסטר התחיל 11531: S 02 ביולי 2021 19:40:25.277 # מצב אשכול השתנה: בסדר 11531: S 02 ביולי 2021 19:40:25.277 * ללא חסימת Connect עבור Sync פירה את האירוע. 11531: S 02 ביולי 2021 19:40:25.278 * המאסטר השיב לפינג, שכפול יכול להמשיך. 11531: S 02 ביולי 2021 19:40:25.278 * ניסיון לסנכרון חלקי (בקשה 7D8DA986C7E699FE33002D10415F98E91203DE01: 1). 11531: S 02 ביולי 2021 19:40:25.279 * סינכרון מלא ממאסטר: 99A8DEFC35B459B7B73277933AA526D3F72AE76E: 0 11531: S 02 ביולי 2021 19:40:25.279 * השלכת מדינת מאסטר שזורה בעבר. 11531: S 02 ביולי 2021 19:40:25.299 * סינכרון העתק מאסטר: קבלת 175 בתים מאדון לדיסק 11531: S 02 ביולי 2021 19:40:25.299 * סינכרון העתק מאסטר: שטיפה נתונים ישנים 11531: S 02 ביולי 2021 19:40:25.300 * סינכרון העתק מאסטר: טעינת DB בזיכרון 11531: S 02 ביולי 2021 19:40:25.306 * טוען RDB מיוצר על ידי גרסה 6.2.4 11531: S 02 ביולי 2021 19:40:25.306 * גיל RDB 0 שניות 11531: S 02 ביולי 2021 19:40:25.306 * שימוש בזיכרון RDB כאשר הוא נוצר 2.60 MB 11531: S 02 ביולי 2021 19:40:25.306 * סינכרון העתק מאסטר: סיים בהצלחה 11531: S 02 ביולי 2021 19:40:25.308 * רקע הוסף רק כתיבת קבצים שהתחילה על ידי PID 2487 11531: S 02 ביולי 2021 19:40:25.342 * aof שכתב את הילד מבקש להפסיק לשלוח Diffs. 2487: C 02 ביולי 2021 19:40:25.342 * ההורה הסכים להפסיק לשלוח Diffs. סיום AOF. 2487: C 02 ביולי 2021 19:40:25.342 * שרשור 0.00 MB של AOF Diff שהתקבל מההורה. 2487: C 02 ביולי 2021 19:40:25.343 * סנכרון הוסף רק שכתוב קבצים מבוצע 2487: C 02 ביולי 2021 19:40:25.343 * AOF REWRITE: 0 MB של זיכרון המשמש על ידי העתקה על כתיבה 11531: S 02 ביולי 2021 19:40:25.411 * רקע AOF REWRITE הסתיים בהצלחה 11531: S 02 ביולי 2021 19:40:25.411 * הורה שיורי שונה בהצלחה סומק ל- AOF שנכתב מחדש (0.00 MB) 11531: S 02 ביולי 2021 19:40:25.411 * רקע AOF REWRITE הסתיים בהצלחה
מעקב אחר צמתים לאשכול Redis
כדי לדעת את הסטטוס של כל צומת redis, אתה יכול להשתמש בפקודה הבאה:
$ redis -cli -h 10.10.10.121 -P 7000 צמתים אשכול 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: [מוגן בדוא"ל] עבד 5CC0F693985913C553C6901E102EA3CB8D6678BD 0 1625255155519 2 מחובר 5CC0F6939855913C553C6901E102E3CB81010 BD 10BD 10BD 10BD 10BD 10BD 10BD 10BD 10BD 10.10.10.122: [מוגן בדוא"ל] מאסטר - 0 1625255153513 2 מחובר 5461-10922 22DE56650B3714C1C42FC0D120F80C66C24D8795 10.10.10.123: [מוגן בדוא"ל] מאסטר - 0 1625255151000 3 מחובר 10923-16383 AD0F5210DDA1736A1B5467CD6E797F011A192097 10.10.10.125: [מוגן בדוא"ל] עבד 4394D8EB03DE1F524B56CB385F0EB9052CE65283 0 1625255153000 1 מחובר 8675CD30FDD4EFA088634E50FBD5C0677528A35E 10.10.10.124: [מוגן בדוא"ל] עבד 22DE56650B3714C1C42FC0D120F80C66C24D8795 0 1625255154515 3 מחובר 4394D8EB03DE1F524B56CB385F00552253101010101010101010101010101831018310183333333383.10.10.121: [מוגן בדוא"ל] את עצמי, מאסטר - 0 1625255152000 1 מחובר 0-5460
אתה יכול גם לסנן את הפלט באמצעות הפקודה GREP Linux כדי לבדוק רק את צמתי הראשי:
$ redis -cli -h 10.10.10.121 -P 7000 צמתים אשכול | GREP MASTER 5CC0F6939855913C553C6901E102EA3CB8D6678BD 10.10.10.122: [מוגן בדוא"ל] מאסטר - 0 1625255389768 2 מחובר 5461-10922 22DE56650B3714C1C42FC0D120F80C66C24D8795 10.10.10.123: [מוגן בדוא"ל] מאסטר - 0 1625255387000 3 מחובר 10923-16383 4394d8eb03de1f524b56cb385f0eb9052ce65283 10.10.10.121: [מוגן בדוא"ל] את עצמי, מאסטר - 0 1625255387000 1 מחובר 0-5460
או אפילו צמתי העבדים:
$ redis -cli -h 10.10.10.121 -P 7000 צמתים אשכול | עבד גרפ 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: [מוגן בדוא"ל] עבד 5CC0F693985913C553C6901E102EA3CB8D6678BD 0 1625255395795 2 מחובר AD0F52210DDA1736A1B5467CD6E797F010710710710710710710710710710710710710710710710707.10.10.125: [מוגן בדוא"ל] עבד 4394D8EB03DE1F524B56CB385F0EB9052CE65283 0 1625255395000 1 מחובר 8675CD30FDD4EFA088634E50FBD5C0677528A35E 10.10.10.124: [מוגן בדוא"ל] עבד 22de56650b3714c1c42fc0d120f80c66c24d8795 0 1625255393000 3 מחובר
כישלון אוטומטי של אשכול Redis
לתת’s בדוק את תכונת Failover האוטומטית באשכול Redis. לשם כך אנו הולכים לעצור את שירות Redis בצומת אב אחד, ולראות מה קורה.
על אדון 2 – 10.10.10.122:
$ systemctl עצור redis $ systemctl סטטוס redis | GREP פעיל פעיל: לא פעיל (מת) מאז FRI 2021-07-02 19:53:41 UTC; לפני 1 שעה 4 דקות
עכשיו, בואו’S בדוק את פלט הפקודה בה השתמשנו בסעיף הקודם כדי לפקח על צמתים Redis:
$ redis -cli -h 10.10.10.121 -P 7000 צמתים אשכול 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: [מוגן בדוא"ל] מאסטר - 0 1625255654350 7 מחובר 5461-10922 5CC0F693985913C553C6901E102E3CB8D6678BD 10.10.10.122: [מוגן בדוא"ל] אדון, נכשל - 1625255622147 1625255621143 2 מנותק 22DE56650B3714C1C42FC0D120F80C66C24D8795 10 10.10.10.123: [מוגן בדוא"ל] מאסטר - 0 1625255654000 3 מחובר 10923-16383 AD0F5210DDA1736A1B5467CD6E797F011A192097 10.10.10.125: [מוגן בדוא"ל] עבד 4394d8eb03de1f524b56cb385f0eb9052ce65283 0 1625255656366 1 מחובר 8675cd30fdd4efa088634e50fbd5c06752315.10.10.124: [מוגן בדוא"ל] עבד 22DE56650B3714C1C42FC0D120F80C66C24D8795 0 1625255655360 3 מחובר 4394D8EB03DE1F524B56CB385F0055222831010101010101010101018.10.10.121: [מוגן בדוא"ל] את עצמי, מאסטר - 0 1625255653000 1 מחובר 0-5460
כפי שאתה יכול לראות, אחד מצמתי העבדים קידם לשלוט, במקרה זה, עבד 3 – 10.10.10.126, אז כישלון האוטומטי עבד כצפוי.
סיכום
Redis היא אפשרות טובה למקרה שתרצה להשתמש במערך נתונים בזיכרון. כפי שאתה יכול לראות בפוסט בבלוג זה, ההתקנה אינה מדע טילים והשימוש באשכול Redis מוסבר בתיעוד הרשמי שלו. בלוג זה פשוט מכסה את שלבי ההתקנה והבדיקה הבסיסיים, אך אתה יכול גם לשפר את זה, למשל, הוספת אימות בתצורת Redis, או אפילו להריץ אמת מידה באמצעות הכלי Redis-Benchmark כדי לבדוק את הביצועים.
מוצרים קשורים
Redis: שכפול, חלק 1 – סקירה כללית. שכפול לעומת סרוק. Sentinel לעומת אשכול. טופולוגיה של Redis.
CodeProject
בתחילה, תוכנן לכתוב פוסט קטן אחד עם דוגמה כיצד ליצור שכפול מחדש של Redis, אך ככל שקראתי יותר ויותר פרטים – רציתי לתאר יותר ויותר על כך, אז בסופו של דבר חילקתי את הפוסט הזה לשני חלקים.
בזה – סקירה מהירה מסוימת, הסבר קצר על הבדלים בסוגי חלוקת הנתונים של Redis, דוגמאות טופולוגיה.
במונחים קצרים אך עם קישורים לתיעוד מפורט ופוסטים שימושיים אחרים על משאבים אחרים.
בחלק השני – כמה דוגמאות כיצד להגדיר שכפול ושכפול פשוט עם Redis Sentinel.
בחלק השלישי-דוגמאות הספרייה של Redis-Py עם שכפול redis and sentinel.
שכפול מחדש של Redis לעומת Sharding
Redis תומך בשני סוגי שיתוף נתונים שכפול (ידוע גם כ שיקוף, שכפול נתונים) ו חרדה (ידוע גם כ חלוקה, פילוח נתונים). בזה – אשכול Redis יכול להשתמש בשתי השיטות בו זמנית.
שכפול
הוא נתונים המתמודדים עם צמתים Redis בסך הכל באשכול המאפשר להגיש בקשות לצמתים עבדים אחד או יותר ולעשות התמדה בנתונים אם חלק מהצמתים הללו יירדו, ויספקו זמינות גבוהה.
באמצעות גישה זו – לקרוא הבקשות יהיו מהירות יותר.
חרדה
עם פילוח הנתונים – כל הנתונים יחולקו לכמה חלקים וזה ישפר כל צומת’S הביצועים מכיוון שהם יאחסנו רק חלק מהנתונים ולא יגישו את כל הבקשות.
באמצעות גישה זו – לִכתוֹב הבקשות יועברו מהר יותר.
Redis Sentinel לעומת אשכול Redis
Redis Sentinel
נוסף לרדיס החמישי.2.4 ובעצם הוא שירות ניטור עבור אדון ועבדים.
כמו כן, יכול לשלוח התראות, להחליף באופן אוטומטי תפקידים מאסטרים ועבדים אם אדון יורד וכן הלאה.
יכול להיות שיש לו תחושה שישמשו לשכפול חשוף של עבד אדון (ראה להלן) ללא אשכול מלא.
זה עובד כדמון ייעודי באמצעות Sentinel בינארי או redis-server ב זָקִיף מצב.
יבצע תצורה מחדש של צמתים אם האדון יירד – יבחר מאסטר חדש מהעבדים השמאל.
דורש לפחות שלושה מקרים זקיפים כדי לקבל מניין לבחירות אדון חדשות ולהחליט אם אחד מצמתים של Redis יורד
אשכול Redis
נוסף לרדיס החמישי.3.0 ומייצג פיתרון אשכול מלא לפילוח, שכפול וניהול הצמתים שלו.
יבצע סנכרון נתונים, שכפול, ניהול התמדה בגישה של צמתים אם חלק יירדו.
השימוש בסנטינל במקרה של אשכול Redis לא’זה לא הגיוני שכן האשכול יעשה הכל בעצמו.
טופולוגיה של Redis
מופע אחד מחדש
המקרה הקלאסי הפשוט ביותר ומור.
פשוט בריצה ותצורה.
מוגבלת על ידי מארח’משאבים – המעבד והזיכרון שלו.
במקרה של מופע redis כזה יירד – כל השירותים התלויים יישברו כמו גם אין שום מנגנוני זמינות או סובלנות לתקלות.
שכפול של עבד אדון
אדון אחד שיש לו עבדים מרובי -פה מצורפים.
הנתונים יעודכנו על אדון זה ואז האדון ידחוף את השינויים הללו לשכפולים שלו.
עבדים יכולים לדבר עם המאסטר בלבד ויכולים’לא לתקשר עם עבדים אחרים, אך עדיין יכולים לקבל עבדים משלהם
עבדים הם צמתים לקריאה בלבד-לא ניתן לבצע שינויים בנתונים שם אלא אם כן זה לא היה’t מוגדר במפורש (ראה את החלק השני של פוסט זה).
במקרה של כל צומת יירד – כל הנתונים עדיין יהיו זמינים עבור לקוחות שכן הנתונים משוכפלים על כל הצמתים.
פשוט בתצורה אך לִכתוֹב הפעולות מוגבלות על ידי המאסטר’משאבים.
במקרה של המאסטר יירד – אתה’אני צריך להגדיר מחדש ידנית עבדים ולהחליף עבד כדי לשלוט בתפקידים עבור אחד מהם.
כמו כן, לקוחות צריכים לדעת בא מי עליהם להשתמש בפעולות כותבים.
Redis Sentinel
כבר תואר לעיל אבל עוד כמה מילים כאן.
בדומה לשכפול Redis – ל- Sentinel יש מופע אב אחד שיש לו עדיפות בעת ההחלטה על אדון Redis’בחירות.
אני.ה. במקרה של מאסטר אחד של Redis ושני עבדים ואם Sentinel Master יעבוד על אותו מארח בו רדיס מאסטר פועל והמארח הזה יירד – Sentinel יבחר ב- Sentinel’מופע הראשי החדש ושני מקרים הזקיפים האלה צריכים להחליט איזה עבד Redis יצטרך להפוך למאסטר חדש של Redis.
במהלך זה – זקיף’למאסטר יש יותר משקל בבחירות כאלה.
קחו בחשבון שלא כל לקוח redis מסוגל לעבוד עם Sentinel, כל הלקוח ניתן למצוא כאן >>>.
אשכול Redis
והפתרון החזק ביותר – אשכול Redis.
יש כמה מופעי אמן ולכל אחד מהם יכול להיות עוד אחד – עד 1000 – עבדים.
ידאג לנתח נתונים, שכפול, סנכרון ופעולות כישלונות.
חייבים להיות לפחות 6 צמתים redis – 3 עבור אדונים ושלושה לעבדים.
יכול להפנות את בקשות הלקוחות למארח אמן או עבדים הכרחי – אך על הלקוח להיות בעל יכולת לעבוד עם אשכול Redis.