كيفية تكوين HAProxy لاتصالات WebSocket

Kyfyt Tkwyn Haproxy Latsalat Websocket



تتمتع تطبيقات WebSocket باتصال ثنائي الاتجاه في الوقت الفعلي بين العميل والخادم. حتى مع اتصالات WebSocket، لا تزال بحاجة إلى طريقة لتوزيع حركة المرور لتجنب التحميل الزائد على الخادم مما قد يؤدي إلى التوقف وعدم التوفر.

يعد HAProxy مثالًا لموازن التحميل المجاني والموثوق الذي يعمل أيضًا كوكيل عكسي. يمكنك تكوين HAProxy لاتصالات WebSocket للاستفادة بشكل أفضل من ميزات WebSockets، خاصة عند نقل البيانات في الوقت الفعلي، مع تقليل تحميل الخادم باستخدام HAProxy. يقدم هذا المنشور جميع الخطوات المطلوبة لتكوين HAProxy لاتصالات WebSocket.

دليل خطوة بخطوة حول كيفية تكوين HAProxy لاتصالات WebSocket

مع اتصالات WebSocket، يكون الاتصال بين الخادم والعميل طويل الأمد. ويستمر حتى يقرر الخادم أو العميل إغلاقه. على هذا النحو، فإن وجود طريقة للعمل مع موازن التحميل يضمن إمكانية توزيع حركة المرور إلى خادم آخر إذا كان الخادم محملاً بشكل زائد. وبهذه الطريقة، يمكن للعميل والخادم الاستمتاع باتصال طويل الأمد دون انقطاع وبزمن وصول منخفض.







1. قم بتثبيت هابروكسي

الخطوة الأولى لتكوين HAProxy لاتصالات WebSocket هي التأكد من تثبيت HAProxy. إذا كنت قد قمت بتثبيته بالفعل، تخطي هذه الخطوة. بخلاف ذلك، قم بتشغيل الأمر التالي لتثبيته:



$ sudo الرابطة بين الحصول على التثبيت haproxy



2. قم بتحرير تكوين HAProxy

لتكوين HAProxy لاتصالات WebSocket، يجب علينا تحرير تكوين HAProxy لدعم اتصالات WebSocket. يجب علينا تعديل قسم 'الافتراضيات' وإنشاء قسمي 'الواجهة الأمامية' و'الواجهة الخلفية'.





افتح تكوين HAProxy باستخدام محرر النصوص كما يلي:

$ sudo نانو / إلخ / haproxy / haproxy.cfg

في قسم 'الافتراضيات' قم بتعديله كما هو موضح في الصورة التالية. أولاً، نحدد أننا نعمل مع اتصالات HTTP ونحدد مكان إرسال ملفات السجل. بعد ذلك، نقوم بتعيين المهلات للأنشطة المختلفة. على سبيل المثال، مهلة الاتصال هي الحد الأقصى للوقت الذي يجب أن تستغرقه محاولة الاتصال بالخادم. إذا تم الوصول إلى الحد الأقصى للوقت، فهذا يعني أن الاتصال قد فشل ويمكن إعادة محاولته.



في هذه الحالة، قمنا بتعيين مهلة الاتصال على 5000 مللي ثانية. يمكنك ضبط المهلة وفقًا للطريقة التي تراها أفضل لحالتك. اضبطها بناءً على التطبيق الخاص بك، وتذكر مدة جلسات WebSocket والمدة التي تتوقعها.

بعد ذلك، يجب علينا إنشاء قسم 'Frontend' حيث نربط المنافذ التي سيتم استخدامها لاتصالات WebSocket والخادم الخلفي الذي يجب الرجوع إليه. في هذه الحالة، نحدد المنفذ 80 ونعطي عنوان URL للوصول إلى صفحة 'الإحصائيات' لمراقبة HAProxy الخاص بنا. وأخيرًا، نحدد قسم الواجهة الخلفية الذي يجب الرجوع إليه في موازنة التحميل.

في قسم 'الواجهة الخلفية'، نقوم بتوزيع الحمل باستخدام روبن الدائري. يحدد 'خيار إعادة التوجيه لـ' HAProxy لتضمين رأس 'X-Forward-For' الذي يحتوي على عنوان IP الخاص بالعميل عند إرسال طلب الاتصال. بهذه الطريقة، سيحصل الخادم الخلفي على عنوان IP الصحيح للعميل.

يقوم 'الخيار http-server- Close' بتقييد الموارد عن طريق إزالة أي اتصالات خاملة من استهلاك موارد الخادم. على الرغم من أن اتصالات WebSocket طويلة الأمد، إلا أنه يجب علينا التحقق من الاتصالات الخاملة طويلة الأمد وإغلاقها لتجنب إهدار الموارد غير الضروري.

وأخيرًا، أضف الخوادم الخلفية التي ستستخدمها لتوزيع حركة المرور. تأكد من إعطاء عنوان IP الصحيح للخوادم واستبدال العناوين الموجودة في الصورة التالية:

تم الآن تكوين HAProxy الخاص بك لاتصالات WebSocket. احفظ التغييرات وأغلق الملف.

3. اختبار الصلاحية

قبل إعادة تشغيل HAProxy، يمكننا تشغيل أمر سريع للتحقق مما إذا كان الملف صالحًا ولا يحتوي على أي خطأ. ولهذا قم بتشغيل الأمر التالي:

$ sudo haproxy -F / إلخ / haproxy / haproxy.cfg

4. أعد تشغيل واختبار اتصال WebSocket

بمجرد أن يصبح الملف صالحًا، أعد تشغيل خدمة HAProxy.

هذا كل شيء. لقد قمت بتكوين HAProxy لاتصالات WebSocket. يمكنك اختبار الاتصال للتأكد من إعادة توجيه كل حركة مرور WebSocket بشكل صحيح.

خاتمة

يعد تكوين HAProxy لاتصالات WebSocket حلاً مطلوبًا، خاصة من قبل مسؤولي الويب. يوضح هذا المنشور العملية بالتفصيل، مع تقديم الخطوات والأمثلة للتأكد من أنك تتابع بشكل مريح وتتمكن من تنفيذ نفس الشيء في حالتك. قم بتنفيذ كل خطوة وتأكد من فهمك للمفهوم وعملية تنفيذه.