שירות חיפוש פתוח של אמזון הוא שירות מנוהל המקל על אבטחה, פריסה ותפעול של אשכולות OpenSearch בקנה מידה גדול בענן AWS. בשנה שעברה, הצגנו לחץ אחורי לאינדקס שברים ו בקרת קבלה, שעוקבת אחר משאבי אשכולות ותעבורה נכנסת כדי לדחות באופן סלקטיבי בקשות שאחרת היו מהוות סיכוני יציבות כמו חוסר בזיכרון ולהשפיע על ביצועי האשכול עקב מחלוקות זיכרון, רוויה של CPU ו-GC תקורה ועוד.
כעת אנו נרגשים להציג את Search Backpressure ובקרת כניסה מבוססת CPU עבור OpenSearch Service, אשר משפרת עוד יותר את הגמישות של אשכולות. שיפורים אלה זמינים עבור כל OpenSearch גרסאות 1.3 ומעלה.
חיפוש לחץ אחורי
לחץ גב מונע ממערכת להיות מוצף בעבודה. היא עושה זאת על ידי שליטה בקצב התעבורה או על ידי הוצאת עומס מופרז על מנת למנוע קריסות ואובדן נתונים, לשפר את הביצועים ולהימנע מכשל מוחלט של המערכת.
חיפוש אחורי הוא מנגנון לזהות ולבטל בקשות חיפוש עתירות משאבים בטיסה כאשר צומת נמצא תחת כפייה. זה יעיל נגד עומסי עבודה בחיפוש עם שימוש חריג במשאבים (כגון שאילתות מורכבות, שאילתות איטיות, התאמות רבות או צבירות כבדות), שאחרת עלולות לגרום לקריסות צמתים ולהשפיע על בריאות האשכול.
Search Backpressure בנוי על מסגרת מעקב משאבי המשימות, המספקת API קל לשימוש לניטור השימוש במשאבים של כל משימה. Search Backpressure משתמש בשרשור רקע שמודד מעת לעת את השימוש במשאבים של הצומת ומקצה ציון ביטול לכל משימת חיפוש בטיסה בהתבסס על גורמים כמו זמן CPU, הקצאות ערימה וזמן שחלף. ציון ביטול גבוה יותר מתאים לבקשת חיפוש עתירת משאבים יותר. בקשות החיפוש מבוטלות בסדר יורד של ציון הביטול שלהן כדי לשחזר צמתים במהירות, אך מספר הביטולים מוגבל בקצב כדי למנוע עבודה בזבזנית.
התרשים הבא ממחיש את זרימת העבודה של Search Backpressure.
בקשות חיפוש מחזירות קוד סטטוס HTTP 429 "Too Many Requests" עם ביטול. OpenSearch מחזיר תוצאות חלקיות אם רק חלק מהרססים נכשלים ותוצאות חלקיות מותרות. ראה את הקוד הבא:
ניטור לחץ אחורי בחיפוש
אתה יכול לעקוב אחר מצב לחץ הגב המפורט בחיפוש באמצעות ממשק ה-API של הצומת הנתונים:
אתה יכול גם להציג את סיכום האשכול רחב של ביטולים באמצעות אמזון CloudWatch. המדדים הבאים זמינים כעת ב- ES/OpenSearchService מרחב שמות:
- SearchTask בוטלה – מספר ביטולי צומת הרכז
- SearchShardTask בוטלה – מספר ביטולי צומת הנתונים
צילום המסך הבא מציג דוגמה למעקב אחר מדדים אלו בקונסולת CloudWatch.
בקרת כניסה מבוססת מעבד
בקרת כניסה היא מנגנון שמירת סף שמגביל באופן יזום את מספר הבקשות לצומת בהתבסס על הקיבולת הנוכחית שלו, הן עבור עליות אורגניות והן עליות בתנועה.
בנוסף ללחץ הזיכרון של JVM ולספי גודל הבקשות, הוא מנטר כעת גם את השימוש הממוצע של כל צומת במעבד כדי לדחות כניסות נכנסות _search
ו _bulk
בקשות. זה מונע מצמתים להיות מוצפים עם יותר מדי בקשות המובילות לנקודות חמות, בעיות ביצועים, פסקי זמן של בקשות וכשלים מדורגים אחרים. בקשות מוגזמות מחזירות קוד סטטוס HTTP 429 "יותר מדי בקשות" עם דחייה.
טיפול בשגיאות HTTP 429
תקבל שגיאות HTTP 429 אם תשלח תנועה מוגזמת לצומת. זה מצביע על משאבי אשכול לא מספיקים, בקשות חיפוש עתירות משאבים או על עלייה לא מכוונת בעומס העבודה.
Search Backpressure מספק את הסיבה לדחייה, שיכול לעזור לכוונן בקשות חיפוש עתירות משאבים. עבור עליות תעבורה, אנו ממליצים על נסיונות חוזרים בצד הלקוח עם גיבוי אקספוננציאלי וריצוד.
אתה יכול גם לעקוב אחר המדריכים הבאים לפתרון בעיות כדי לנפות באגים בדחיות מוגזמות:
סיכום
Search Backpressure הוא מנגנון תגובתי להורדת עומס מופרז, בעוד בקרת קבלה היא מנגנון יזום להגבלת מספר הבקשות לצומת מעבר לקיבולת שלו. שניהם פועלים במקביל לשיפור הגמישות הכוללת של אשכול OpenSearch.
חיפוש לחץ אחורי זמין ב Opensearch, ואנחנו תמיד מחפשים תרומות חיצוניות. אתה יכול להתייחס ל RFC כדי להתחיל בעבודה.
על המחברים
קטן ורמה הוא SDE בכיר שעובד על Amazon OpenSearch Service. הוא נלהב מבניית מערכות מבוזרות בקנה מידה גדול, שיפור ביצועים ופישוט רעיונות מורכבים באמצעות הפשטות פשוטות. מחוץ לעבודה, הוא אוהב לקרוא ולשפר את כישורי הבריסטה הביתיים שלו.
Suresh NS הוא SDE בכיר שעובד על Amazon OpenSearch Service. הוא נלהב לפתרון בעיות במערכות מבוזרות בקנה מידה גדול.
פריקומאר לדאני הוא SDE-2 שעובד על Amazon OpenSearch Service. הוא אוהב לתרום לפיתוח תוכנה בקוד פתוח, ונלהב ממערכות מבוזרות. הוא שחקן בדמינטון חובב ונהנה מטיולים.
בוכתוואר חאן הוא מהנדס ראשי שעובד בשירות ה-OpenSearch של Amazon. הוא מעוניין בבניית מערכות מבוזרות ואוטונומיות. הוא מתחזק ותורם פעיל ל-OpenSearch.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- EVM Finance. ממשק מאוחד למימון מבוזר. גישה כאן.
- Quantum Media Group. IR/PR מוגבר. גישה כאן.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/big-data/improved-resiliency-with-backpressure-and-admission-control-for-amazon-opensearch-service/
- :הוא
- 1
- 1.3
- 100
- 26
- 7
- 77
- a
- אודות
- פעיל
- תוספת
- נגד
- תעשיות
- הקצאות
- גם
- תמיד
- חובבן
- אמזון בעברית
- אמזון שירותי אינטרנט
- an
- ו
- API
- ARE
- AS
- At
- אוטונומי
- מערכות אוטונומיות
- זמין
- מְמוּצָע
- לְהִמָנַע
- AWS
- רקע
- בריסטה
- מבוסס
- להיות
- מעבר
- שניהם
- בִּניָן
- נבנה
- אבל
- by
- CAN
- קיבולת
- לגרום
- ענן
- אשכול
- קוד
- מורכב
- קונסול
- לתרום
- תורם
- לִשְׁלוֹט
- שליטה
- רכז
- מתכתב
- יכול
- CPU
- נוֹכְחִי
- נתונים
- אובדן נתונים
- לפרוס
- מְפוֹרָט
- צעצועי התפתחות
- מופץ
- מערכות מבוזרות
- עושה
- ראוי
- כל אחד
- קל לשימוש
- אפקטיבי
- או
- מהנדס
- משפר
- שגיאה
- שגיאות
- Ether (ETH)
- דוגמה
- חריג
- נרגש
- מעריכי
- גורמים
- FAIL
- כשלון
- לעקוב
- הבא
- בעד
- מסגרת
- החל מ-
- נוסף
- שמירת סף
- לקבל
- מדריך
- he
- בְּרִיאוּת
- כבד
- לעזור
- גָבוֹהַ
- גבוה יותר
- שֶׁלוֹ
- להיטים
- עמוד הבית
- חַם
- http
- HTTPS
- רעיונות
- לזהות
- if
- מדגים
- פְּגִיעָה
- לשפר
- משופר
- שיפורים
- שיפור
- in
- נכנס
- עליות
- מדד
- מצביע על
- מעוניין
- מבוא
- הציג
- IT
- שֶׁלָה
- jpg
- גָדוֹל
- בקנה מידה גדול
- אחרון
- שנה שעברה
- מוביל
- כמו
- להגביל
- גבולות
- לִטעוֹן
- הסתכלות
- את
- עושה
- הצליח
- רב
- אמצעים
- מנגנון
- זכרון
- מדדים
- צג
- צגים
- יותר
- צומת
- צמתים
- עַכשָׁיו
- מספר
- of
- on
- רק
- לפתוח
- קוד פתוח
- להפעיל
- or
- להזמין
- אורגני
- אחר
- אַחֶרֶת
- הַחוּצָה
- בחוץ
- מקיף
- המום
- לוהט
- ביצועים
- שלב
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- שחקן
- לחץ
- למנוע
- מונע
- מנהל
- פרואקטיבי
- בעיות
- מספק
- שאילתות
- מהירות
- ציון
- חומר עיוני
- טעם
- לקבל
- להמליץ
- להחלים
- לבקש
- בקשות
- משאב
- עתירת משאבים
- משאבים
- תוצאות
- לַחֲזוֹר
- החזרות
- סיכונים
- גִלגוּל
- סולם
- ציון
- חיפוש
- לבטח
- לִרְאוֹת
- לשלוח
- לחצני מצוקה לפנסיונרים
- שרות
- שירותים
- לִשְׁפּוֹך
- הופעות
- פָּשׁוּט
- מפשט
- מידה
- מיומנויות
- להאט
- So
- תוכנה
- פיתוח תוכנה
- פותר
- כמה
- מָקוֹר
- דָרְבָּן
- קוצים
- יציבות
- החל
- מדינה
- סטטיסטיקות
- מצב
- כזה
- סיכום
- מערכת
- מערכות
- זה אחר זה
- המשימות
- זֶה
- השמיים
- שֶׁלָהֶם
- אלה
- זמן
- ל
- גַם
- חלק עליון
- סה"כ
- לקראת
- מעקב
- תְנוּעָה
- נָכוֹן
- סוג
- תחת
- על
- נוֹהָג
- שימושים
- באמצעות
- לצפיה
- היה
- we
- אינטרנט
- שירותי אינטרנט
- מתי
- אשר
- בזמן
- עם
- תיק עבודות
- זרימת עבודה
- עובד
- היה
- שנה
- אתה
- זפירנט