כיצד להגדיר HAProxy עבור חיבורי WebSocket

Kyzd Lhgdyr Haproxy Bwr Hybwry Websocket



ליישומי WebSocket יש תקשורת בזמן אמת ודו-כיוונית בין הלקוח לשרת. אפילו עם חיבורי WebSocket, אתה עדיין צריך דרך להפיץ את התעבורה כדי למנוע עומס יתר על שרת שיוביל להשבתה וחוסר זמינות.

HAProxy היא דוגמה למאזן עומסים חינמי ואמין שעובד גם כפרוקסי הפוך. אתה יכול להגדיר HAProxy עבור חיבורי WebSocket כדי לנצל טוב יותר את התכונות של WebSockets, במיוחד בהעברת נתונים בזמן אמת, תוך מזעור עומס השרת באמצעות HAProxy. פוסט זה מציג את כל השלבים הנדרשים להגדרת HAProxy עבור חיבורי WebSocket.

מדריך שלב אחר שלב כיצד להגדיר את HAProxy עבור חיבורי WebSocket

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







1. התקן את HAProxy

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



$ סודו apt-get install האפרוקסי



2. ערוך את תצורת HAProxy

כדי להגדיר את התצורה של HAProxy עבור חיבורי WebSocket, עלינו לערוך את תצורת ה-HAProxy כדי לתמוך בחיבורי WebSocket. עלינו לשנות את הקטע 'ברירות מחדל' וליצור את הקטעים 'Frontend' ו-'Backend'.





פתח את תצורת HAProxy באמצעות עורך טקסט באופן הבא:

$ סודו ננו / וכו / האפרוקסי / haproxy.cfg

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



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

לאחר מכן, עלינו ליצור את הקטע 'Frontend' שבו אנו קושרים אילו יציאות להשתמש עבור חיבורי WebSocket ואיזה שרת אחורי להתייחסות. במקרה זה, אנו מציינים יציאה 80 ונותנים את כתובת האתר כדי לגשת לדף 'סטטיסטיקות' כדי לפקח על HAProxy שלנו. לבסוף, אנו מגדירים לאיזה סעיף אחורי להתייחס באיזון עומסים.

בסעיף 'גבי', אנו מחלקים את העומס באמצעות רובין עגול. 'אפשרות קדימה עבור' מציינת ל-HAProxy לכלול כותרת 'X-Forward-For' המכילה את כתובת ה-IP של הלקוח בעת שליחת בקשת החיבור. בדרך זו, שרת הקצה האחורי יקבל את ה-IP של הלקוח הנכון.

ה'אופציה http-server-close' מגבילה את המשאבים על ידי ביטול כל חיבורי סרק מלתפוס את משאבי השרת. למרות שחיבורי ה-WebSocket מאריכים ימים, עלינו לבדוק אם קיימים חיבורים ארוכי חיים סרק ולסגור אותם כדי למנוע בזבוז משאבים מיותר.

לבסוף, הוסף את שרתי הקצה האחוריים שבהם תשתמש כדי להפיץ את התעבורה. ודא שאתה נותן את כתובת ה-IP הנכונה עבור השרתים והחלף את אלה שבתמונה הבאה:

ה-HAProxy שלך מוגדר כעת לחיבורי WebSocket. שמור את השינויים וסגור את הקובץ.

3. מבחן תוקף

לפני שנפעיל מחדש את HAProxy, נוכל להריץ פקודה מהירה כדי לבדוק אם הקובץ חוקי ואין לו שגיאה. לשם כך, הפעל את הפקודה הבאה:

$ סודו האפרוקסי / וכו / האפרוקסי / haproxy.cfg

4. הפעל מחדש ובדוק את חיבור ה-WebSocket

לאחר שהקובץ תקף, הפעל מחדש את שירות HAProxy.

זהו זה. הגדרת את HAProxy עבור חיבורי WebSocket. אתה יכול לבדוק את החיבור כדי לוודא שכל תעבורת ה-WebSocket מועברת כהלכה.

סיכום

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