WebSocket کنکشنز کے لیے HAProxy کو کیسے ترتیب دیا جائے۔

Websocket Knkshnz K Ly Haproxy Kw Kys Trtyb Dya Jay



WebSocket ایپلی کیشنز میں کلائنٹ اور سرور کے درمیان حقیقی وقت اور دو طرفہ مواصلت ہوتی ہے۔ یہاں تک کہ WebSocket کنکشن کے ساتھ، آپ کو اب بھی ٹریفک کو تقسیم کرنے کا ایک طریقہ درکار ہے تاکہ سرور کو اوور لوڈ کرنے سے بچایا جا سکے جو کہ ڈاؤن ٹائم اور عدم دستیابی کا باعث بنے۔

HAProxy ایک مفت اور قابل اعتماد لوڈ بیلنسر کی ایک مثال ہے جو ریورس پراکسی کے طور پر بھی کام کرتی ہے۔ آپ HAProxy کو WebSocket کنکشنز کے لیے کنفیگر کر سکتے ہیں تاکہ WebSockets کی خصوصیات کو بہتر طریقے سے استعمال کیا جا سکے، خاص طور پر ریئل ٹائم ڈیٹا ٹرانسفر پر، جبکہ HAProxy کا استعمال کرتے ہوئے سرور کے بوجھ کو کم کیا جائے۔ یہ پوسٹ WebSocket کنکشنز کے لیے HAProxy کو ترتیب دینے کے لیے تمام مطلوبہ اقدامات پیش کرتی ہے۔

WebSocket کنکشنز کے لیے HAProxy کو کنفیگر کرنے کے بارے میں مرحلہ وار گائیڈ

WebSocket کنکشن کے ساتھ، سرور اور کلائنٹ کا مواصلت دیرپا ہے۔ یہ اس وقت تک برقرار رہتا ہے جب تک کہ سرور یا کلائنٹ اسے بند کرنے کا فیصلہ نہ کرے۔ اس طرح، لوڈ بیلنس کے ساتھ کام کرنے کا طریقہ اس بات کو یقینی بناتا ہے کہ اگر سرور اوورلوڈ ہو تو ٹریفک کو دوسرے سرور پر تقسیم کیا جا سکتا ہے۔ اس طرح، کلائنٹ اور سرور کم تاخیر پر ایک بلاتعطل اور دیرپا کنکشن کا لطف اٹھا سکتے ہیں۔







1. HAProxy انسٹال کریں۔

WebSocket کنکشنز کے لیے HAProxy کو ترتیب دینے کا پہلا مرحلہ یہ یقینی بنانا ہے کہ آپ نے HAProxy انسٹال کر لیا ہے۔ اگر آپ نے پہلے سے انسٹال کر رکھا ہے تو اس قدم کو چھوڑ دیں۔ بصورت دیگر، اسے انسٹال کرنے کے لیے درج ذیل کمانڈ کو چلائیں:



$ sudo apt-get انسٹال کریں۔ haproxy



2. HAProxy کنفیگریشن میں ترمیم کریں۔

WebSocket کنکشنز کے لیے HAProxy کو کنفیگر کرنے کے لیے، ہمیں WebSocket کنکشنز کو سپورٹ کرنے کے لیے HAProxy کنفیگریشن میں ترمیم کرنی چاہیے۔ ہمیں 'ڈیفالٹس' سیکشن میں ترمیم کرنا چاہیے اور 'فرنٹ اینڈ' اور 'بیک اینڈ' سیکشن بنانا چاہیے۔





مندرجہ ذیل ٹیکسٹ ایڈیٹر کا استعمال کرتے ہوئے HAProxy تشکیل کھولیں:

$ sudo نینو / وغیرہ / haproxy / haproxy.cfg

'ڈیفالٹس' سیکشن میں، اس میں ترمیم کریں جیسا کہ مندرجہ ذیل تصویر میں پیش کیا گیا ہے۔ سب سے پہلے، ہم یہ بتاتے ہیں کہ ہم HTTP کنکشن کے ساتھ کام کر رہے ہیں اور وضاحت کرتے ہیں کہ لاگ فائلوں کو کہاں بھیجنا ہے۔ اگلا، ہم مختلف سرگرمیوں کے لیے ٹائم آؤٹ سیٹ کرتے ہیں۔ مثال کے طور پر، ٹائم آؤٹ کنیکٹ زیادہ سے زیادہ وقت ہے جو سرور سے کنکشن کی کوشش میں لگنا چاہیے۔ اگر زیادہ سے زیادہ وقت تک پہنچ جاتا ہے، تو یہ نتیجہ اخذ کیا جاتا ہے کہ کنکشن ناکام ہو گیا ہے اور دوبارہ کوشش کی جا سکتی ہے۔



اس معاملے کے لیے، ہم نے ٹائم آؤٹ کنیکٹ کو 5000 ملی سیکنڈز پر سیٹ کیا ہے۔ آپ ٹائم آؤٹ کو ایڈجسٹ کر سکتے ہیں کہ آپ انہیں اپنے کیس کے لیے کس طرح بہترین دیکھتے ہیں۔ انہیں اپنی درخواست کی بنیاد پر ایڈجسٹ کریں، اور WebSocket سیشنز کا دورانیہ اور یاد رکھیں کہ آپ ان سے کتنی دیر تک رہنے کی توقع رکھتے ہیں۔

اگلا، ہمیں 'فرنٹ اینڈ' سیکشن بنانا چاہیے جہاں ہم پابند کرتے ہیں کہ WebSocket کنکشن کے لیے کن بندرگاہوں کو استعمال کرنا ہے اور کس بیک اینڈ سرور کا حوالہ دینا ہے۔ اس معاملے کے لیے، ہم پورٹ 80 کی وضاحت کرتے ہیں اور اپنے HAProxy کی نگرانی کے لیے 'اعداد و شمار' صفحہ تک رسائی کے لیے URL دیتے ہیں۔ آخر میں، ہم اس بات کی وضاحت کرتے ہیں کہ لوڈ بیلنسنگ میں کس بیک اینڈ سیکشن کا حوالہ دیا جائے۔

'بیک اینڈ' سیکشن میں، ہم راؤنڈ رابن کا استعمال کرتے ہوئے بوجھ کو تقسیم کرتے ہیں۔ 'آپشن فارورڈ فار' HAProxy کو ایک 'X-Forward-For' ہیڈر شامل کرنے کی وضاحت کرتا ہے جس میں کنکشن کی درخواست بھیجتے وقت کلائنٹ کا IP پتہ ہوتا ہے۔ اس طرح، بیک اینڈ سرور کو صحیح کلائنٹ آئی پی ملے گا۔

'آپشن HTTP-server-close' سرور کے وسائل کو لینے سے کسی بھی بیکار کنکشن کو ختم کرکے وسائل کو محدود کرتا ہے۔ اگرچہ WebSocket کنکشنز طویل المدت ہیں، ہمیں غیر ضروری طویل المدتی کنکشنز کی جانچ کرنی چاہیے اور وسائل کے غیر ضروری ضیاع سے بچنے کے لیے انہیں بند کرنا چاہیے۔

آخر میں، بیک اینڈ سرورز شامل کریں جو آپ ٹریفک کو تقسیم کرنے کے لیے استعمال کریں گے۔ یقینی بنائیں کہ آپ سرورز کے لیے درست آئی پی ایڈریس دیتے ہیں اور درج ذیل تصویر میں موجود ایڈریس کو تبدیل کرتے ہیں:

آپ کا HAProxy اب WebSocket کنکشنز کے لیے ترتیب دیا گیا ہے۔ تبدیلیاں محفوظ کریں اور فائل بند کریں۔

3. درستگی کے لیے ٹیسٹ

HAProxy کو دوبارہ شروع کرنے سے پہلے، ہم یہ چیک کرنے کے لیے فوری کمانڈ چلا سکتے ہیں کہ آیا فائل درست ہے اور اس میں کوئی خرابی نہیں ہے۔ اس کے لیے درج ذیل کمانڈ کو چلائیں:

$ sudo haproxy -c -f / وغیرہ / haproxy / haproxy.cfg

4. ویب ساکٹ کنکشن کو دوبارہ شروع کریں اور ٹیسٹ کریں۔

فائل کے درست ہونے کے بعد، HAProxy سروس کو دوبارہ شروع کریں۔

یہی ہے. آپ نے HAProxy کو WebSocket کنکشنز کے لیے کنفیگر کیا ہے۔ آپ اس بات کو یقینی بنانے کے لیے کنکشن کی جانچ کر سکتے ہیں کہ تمام WebSocket ٹریفک کو درست طریقے سے آگے بڑھایا گیا ہے۔

نتیجہ

WebSocket کنکشنز کے لیے HAProxy کو ترتیب دینا ایک مطلوبہ حل ہے، خاص طور پر ویب ایڈمنسٹریٹرز کے ذریعے۔ اس پوسٹ میں اس عمل کو تفصیل سے بیان کیا گیا ہے، اس بات کو یقینی بنانے کے لیے اقدامات اور ایک مثال دی گئی ہے کہ آپ آرام سے اس کی پیروی کرتے ہیں اور اپنے معاملے میں اسے نافذ کرنے کا انتظام کرتے ہیں۔ ہر قدم پر جائیں اور اس بات کو یقینی بنائیں کہ آپ تصور اور اسے نافذ کرنے کے عمل کو سمجھتے ہیں۔