מידע על שירות הגילוי האוטומטי

בדף הזה תוכלו לקרוא סקירה כללית על שירות הגילוי האוטומטי של Memorystore for Memcached. במאמר שימוש בשירות הגילוי האוטומטי מוסבר איך לגשת לשירות הגילוי האוטומטי ולהתחבר אליו.

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

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

צריך להשתמש בנקודת הקצה של Auto Discovery למטרה שלשמה היא נועדה, ולא כדי להריץ פקודות של Memcached כמו get, set ו-delete.

סקירה כללית של ארכיטקטורת שירות הגילוי האוטומטי

שירות הגילוי האוטומטי של Memorystore for Memcached נחשף באמצעות נקודת קצה לגילוי. נקודת הקצה של הגילוי היא כתובת IP ייעודית למופע שלכם שמחזירה רשימה עדכנית של צמתים במופע Memcached. לכל מופע של Memorystore for Memcached יש נקודת קצה ייחודית לגילוי. אחרי שיוצרים את המופע, כתובת ה-IP של נקודת הקצה של הגילוי לא משתנה.

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

שדה תיאור סוג נתונים דוגמה
מזהה גרסת ההגדרה מזהה שגדל בכל שינוי ברשימת הצמתים מספר שלם 9
רשימת הצמתים מחזירה רשימה של הצמתים הנוכחיים וכתובות ה-IP שלהם. String node1-ip|node1-ip|node1-port node2-ip|node2-ip|node2-port

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

  1. משתמשים בספריית לקוח שתומכת בגילוי אוטומטי.

    • מזלג של לקוח memcached ב-Golang.
  2. מוסיפים באופן ידני לוגיקה של גילוי אוטומטי לספריית הלקוח.

אופן הפעולה של שירות הזיהוי האוטומטי

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

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

  • אותו לקוח בשתי שאילתות נפרדות לשירות הגילוי האוטומטי יכול לקבל שתי תשובות שונות של גילוי אוטומטי מהשירות (בזמן שהשירות לא עקבי). עם זאת, לאחת מהתשובות יש ערך Configuration version ID גבוה יותר, והלקוחות יכולים להשתמש בו כדי לטפל בתשובות.

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

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