האם יש הבדל בין הרעיון של איזון עומסים לבין החלפת תוכן ביישומי אינטרנט? מאזני עומסים מפיצים בקשות על פני מספר שרתים כדי לטפל ביותר תעבורה ממה ששרת אחד יכול בעצמו.
זה מאפשר לך לשנות את קנה המידה של יישומי האינטרנט שלך מבלי להוסיף חומרה או תוכנה נוספת. בנוסף, איזון עומסים מאפשר לך להשתמש בפחות משאבים ממה שהיה נדרש אם כל הבקשות הנכנסות טופלו על ידי שרת אחד בלבד.
מעבר תוכן, לעומת זאת, מתייחס להפניה מחדש של משתמשים מדף אחד לאחר כאשר השרת הנוכחי אינו יכול לשרת את בקשתם. במאמר זה נסקור את ההבדל בין שני המושגים.
מאזן עומסים מפיץ בקשות נכנסות בין מספר שרתים. זה לא מחליט איזה שרת צריך לענות לבקשה מסוימת. במקום זאת, הוא פשוט מעביר את הבקשה לשרת זמין. מאזן עומסים משתמש בדרך כלל בתזמון עגול, כאשר בכל פעם שמגיעה בקשה חדשה, הוא שולח את הבקשה לשרת הזמין הבא.
מאזן העומס צריך לדעת איזו כתובת IP לשלוח את הבקשה כדי להשיג פונקציונליות זו. לכן, למאזן העומס חייבת להיות גישה למידע תצורה.
לדוגמה, ייתכן שמאזן עומסים יצטרך לדעת את שם המחשב המארח את אפליקציית האינטרנט, כתובת ה-IP שלה, מספר היציאה וכו'.
מאזני עומסים מספקים גם תכונות אחרות כגון סיום SSL, שמירה במטמון, ניטור, כשל בכשל וכו'. תכונות אלו מתוארות בפירוט בהמשך המאמר.
ישנם שלושה סוגים של איזון עומסים בשימוש כיום: Round Robin (RR), Weighted Random (WR) ו-Least Connections (LC). Round Robin (RR):
סוג זה של איזון עומסים עובד כמו מערכת טלפון עם חוגה סיבובית. כאשר שיחה נכנסת למתג, היא עוברת דרך חיבורים עד שהיא מגיעה ליעד. לכל חיבור יש משקל מסוים הקשור אליו.
אם לא נותרו חיבורים פנויים, השיחה תבוטל. עם RR, המשקולות המוקצות לחיבורים השונים משתנים עם הזמן. כתוצאה מכך, השיחות מפוזרות באופן שווה על פני השרתים הזמינים.
משוקלל אקראי (WR): מקצה אחוז קבוע מרוחב הפס הכולל לכל שרת. לכן, אם יש 10 שרתים ומוקצה 5% מרוחב הפס הכולל, כל שרת מקבל 5% מהקיבולת הכוללת. זה אומר שהשרת הראשון יקבל 50% מהקיבולת, השרת השני יקבל 25% וכו'. Least Connections (LC):
עם LC, מאזן העומס שולח בקשות רק לשרת הכי פחות עמוס. אם כל השרתים עסוקים באותה מידה, מאזן העומס תמיד יבחר בשרת הכי פחות טעון.
היתרון העיקרי של WR הוא שהוא מספק ביצועים טובים יותר מכיוון שהוא אינו דורש הגדרות מיוחדות בשרתים. עם זאת, זה דורש יותר מחזורי זיכרון ומעבד מאשר RR. החיסרון העיקרי של WR הוא שהוא יכול לגרום לבעיות אם עומסי העבודה על השרתים משתנים באופן משמעותי.
כאשר משתמש מבקש כתובת URL ספציפית, הוא/היא מצפה לראות תוכן במיקום זה. אבל לפעמים, בגלל בעיות רשת, ייתכן שהבקשה לא תגיע לשרת המארח את המשאב המבוקש.
במקרים אלו, המשתמש מקבל הודעה לפיה הדף אינו נמצא או שהשרת אינו זמין באופן זמני. זה נקרא שגיאת "404 לא נמצא". כדי למנוע בעיה זו, אתה יכול להשתמש בטכניקה הנקראת "החלפת תוכן". עם החלפת תוכן, כאשר בקשה למשאב ספציפי נכשלת, מאזן העומס מפנה את בקשת הלקוח לשרת אחר המארח את אותו משאב. בדרך זו, המשתמש לעולם לא רואה שגיאות 404.
מאזן העומס שלך צריך להבין כיצד לבצע ניתוב מחדש כדי ליישם החלפת תוכן. הוא עושה זאת באמצעות קוד תגובת HTTP הנקרא 302. תגובת 302 אומרת לדפדפן לבצע בקשה חדשה למיקום אחר.
בנוסף, מאזן העומס אמור להיות מסוגל לקבוע אילו משאבים מתארחים באילו שרתים. לשם כך, הוא משתמש בתכונה הנקראת שרת שמות DNS (DNS NS). DNS NS מתרגם שמות מארחים לכתובות IP. מאזן העומס חייב לגשת למידע על תצורת ה-DNS של האתר כדי להשיג החלפת תוכן. לדוגמה, הוא צריך לדעת היכן נמצא שרת השמות של ה-DNS ואת כתובת ה-IP שלו.
זה נעשה על ידי הגדרת מאזן העומס כמעביר DNS. אתה מגדיר את מעביר ה-DNS לשלוח שאילתות לשרת השמות המתאים של ה-DNS.
ברגע שמעביר ה-DNS יודע היכן שוכן שרת השמות של ה-DNS, הוא מעביר את השאילתה לשרת. לאחר קבלת התשובה משרת השמות של ה-DNS, מאזן העומס מחזיר את כתובת ה-IP של השרת המארח את המשאב המבוקש.
חשוב לציין ששרתים וירטואליים אינם תומכים במעבר תוכן. הם מחזירים קוד סטטוס 404.
שרת וירטואלי הוא ייצוג לוגי של שרת פיזי אחד. לכל שרת וירטואלי יש את כתובת ה-IP ומספר היציאה שלו. שרתים וירטואליים משמשים כדי לספק סובלנות לתקלות. כאשר שרת וירטואלי נופל, התעבורה המופנית אליו מופנית לשרת פיזי אחר.
באיזון עומסים, כל הבקשות עוברות באותו נתיב. אז תמיד יהיה רק עותק אחד של הנתונים במטמון. אם השרת הראשון נהיה עמוס יתר על המידה, שרתים אחרים מקבלים פחות עבודה. בהחלפת תוכן, כל בקשה עוברת לנתיב נפרד. אז יהיו עותקים מרובים של הנתונים במטמונים. ואם השרת הראשון נהיה עמוס יתר על המידה, לשרתים אחרים יש עוד עבודה.
ב-Load Balancing, מאזן העומס עוקב אחר תקינותו של כל שרת. אם שרת מפסיק להגיב, הוא מזהיר את מאזן העומס. מאזן העומס מסיר את השרת הזה מהשירות. בהחלפת תוכן, מאזני העומס עוקבים אחר תקינות השרתים. אבל הם לא שולחים אזהרות ללקוחות. במקום זאת, הם מפנים את הבקשות לשרתים אחרים.
באיזון עומסים, אם שרת קורס, מאזן העומס שולח הודעה ללקוח שהבקשה שלו נכשלה. בהחלפת תוכן, אם שרת קורס, מאזן העומס לא אומר ללקוח כלום.
באיזון עומסים, כאשר שרת חוזר, מאזן העומס מנסה להבין מדוע הוא קרס. אז הוא יכול להחליט אם להחזיר אותו לאינטרנט או לא. בהחלפת תוכן, מאזני העומס מניחים שהכל בסדר כאשר שרת עולה. אין צורך שזה יבדוק למה זה חזר. זה פשוט מתחיל לשלוח אליו בקשות חדשות.
באיזון עומסים, אתה יכול להגדיר כמה פעמים הלקוח מקבל שגיאה לפני שהוא מוותר על הניסיון להגיע לאתר שלך. בהחלפת תוכן, אתה לא יכול לשלוט כמה זמן הלקוח ימתין לפני שהוא מוותר על הגעה לאתר שלך.
באיזון עומסים, כשל בשרת בודד עלול לגרום לבעיות ביישומים מסוימים. דוגמה טובה תהיה יישום עגלת קניות. אם משתמש מכניס פריט לעגלת הקניות אך לאחר מכן עוזב מבלי לבצע צ'ק-אאוט, ההזמנה לא הושלמה.
בהחלפת תוכן, כשל בודד בשרת לא ישפיע על אף יישום.
איזון עומסים עדיף על החלפת תוכן מכיוון שיש לו פחות מגבלות ומספק ביצועים טובים יותר. התוכניות הכוללות מאוד דומות, אלא שמאזן העומס יטפל בכל החיבורים בעוד שמחליף התוכן יטפל רק בחיבורים המגיעים מאותה כתובת IP. עם זאת, לשניהם יש יתרונות וחסרונות. חשוב לדעת מה הם לפני השימוש בהם.
גרי מילווה