ওয়েবসকেট সংযোগের জন্য HAProxy কীভাবে কনফিগার করবেন

Oyebasaketa Sanyogera Jan Ya Haproxy Kibhabe Kanaphigara Karabena



WebSocket অ্যাপ্লিকেশনের ক্লায়েন্ট এবং সার্ভারের মধ্যে রিয়েল-টাইম এবং দ্বিমুখী যোগাযোগ রয়েছে। এমনকি WebSocket সংযোগের সাথে, আপনার এখনও একটি সার্ভার ওভারলোডিং এড়াতে ট্র্যাফিক বিতরণ করার একটি উপায় প্রয়োজন যা ডাউনটাইম এবং অনুপলব্ধতার দিকে পরিচালিত করবে।

HAProxy হল একটি বিনামূল্যের এবং নির্ভরযোগ্য লোড ব্যালেন্সারের উদাহরণ যা একটি বিপরীত প্রক্সি হিসাবেও কাজ করে। HAProxy ব্যবহার করে সার্ভারের লোড কমানোর সময়, বিশেষ করে রিয়েল-টাইম ডেটা ট্রান্সফারে, WebSockets-এর বৈশিষ্ট্যগুলিকে আরও ভালভাবে ব্যবহার করার জন্য আপনি WebSocket সংযোগের জন্য HAProxy কনফিগার করতে পারেন। এই পোস্টটি WebSocket সংযোগের জন্য HAProxy কনফিগার করার জন্য প্রয়োজনীয় সমস্ত পদক্ষেপ উপস্থাপন করে।

ওয়েবসকেট সংযোগের জন্য HAProxy কীভাবে কনফিগার করবেন সে সম্পর্কে ধাপে ধাপে নির্দেশিকা

WebSocket সংযোগের সাথে, সার্ভার এবং ক্লায়েন্ট যোগাযোগ দীর্ঘস্থায়ী হয়। সার্ভার বা ক্লায়েন্ট এটি বন্ধ করার সিদ্ধান্ত না নেওয়া পর্যন্ত এটি অব্যাহত থাকে। যেমন, লোড ব্যালেন্সারের সাথে কাজ করার একটি উপায় নিশ্চিত করে যে সার্ভারটি ওভারলোড হলে ট্র্যাফিক অন্য সার্ভারে বিতরণ করা যেতে পারে। এইভাবে, ক্লায়েন্ট এবং সার্ভার কম বিলম্বে একটি নিরবচ্ছিন্ন এবং দীর্ঘস্থায়ী সংযোগ উপভোগ করতে পারে।







1. HAProxy ইনস্টল করুন

WebSocket সংযোগের জন্য HAProxy কনফিগার করার প্রথম ধাপ হল আপনার HAProxy ইনস্টল করা আছে কিনা তা নিশ্চিত করা। আপনি যদি এটি ইতিমধ্যেই ইনস্টল করে থাকেন তবে এই পদক্ষেপটি এড়িয়ে যান। অন্যথায়, এটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:



$ sudo apt- get install হ্যাপ্রক্সি



2. HAProxy কনফিগারেশন সম্পাদনা করুন

WebSocket সংযোগের জন্য HAProxy কনফিগার করতে, WebSocket সংযোগ সমর্থন করার জন্য আমাদের HAProxy কনফিগারেশন সম্পাদনা করতে হবে। আমাদের অবশ্যই 'ডিফল্ট' বিভাগটি সংশোধন করতে হবে এবং 'ফ্রন্টএন্ড' এবং 'ব্যাকএন্ড' বিভাগ তৈরি করতে হবে।





নিম্নরূপ একটি পাঠ্য সম্পাদক ব্যবহার করে HAProxy কনফিগারেশন খুলুন:

$ sudo ন্যানো / ইত্যাদি / হ্যাপ্রক্সি / haproxy.cfg

'ডিফল্ট' বিভাগে, নিম্নলিখিত চিত্রে উপস্থাপিত হিসাবে এটি সংশোধন করুন। প্রথমত, আমরা নির্দিষ্ট করি যে আমরা HTTP সংযোগের সাথে কাজ করছি এবং কোথায় লগ ফাইল পাঠাতে হবে তা নির্ধারণ করি। এর পরে, আমরা বিভিন্ন ক্রিয়াকলাপের জন্য সময়সীমা সেট করি। উদাহরণস্বরূপ, টাইমআউট কানেক্ট হল সার্ভারের সাথে সংযোগ প্রচেষ্টার সর্বোচ্চ সময়। যদি সর্বাধিক সময় পৌঁছে যায়, সংযোগটি ব্যর্থ হয়েছে বলে সিদ্ধান্ত নেওয়া হয় এবং পুনরায় চেষ্টা করা যেতে পারে।



এই ক্ষেত্রে, আমরা 5000 মিলিসেকেন্ডে টাইমআউট সংযোগ সেট করেছি। আপনি আপনার ক্ষেত্রে সেগুলিকে কীভাবে সেরা দেখেন তার উপর আপনি সময়সীমা সামঞ্জস্য করতে পারেন। আপনার আবেদনের উপর ভিত্তি করে সেগুলিকে সামঞ্জস্য করুন, এবং ওয়েবসকেট সেশনের সময়কাল এবং আপনি সেগুলি কতদিন বেঁচে থাকতে চান তা মনে রাখবেন।

এর পরে, আমাদের অবশ্যই 'ফ্রন্টএন্ড' বিভাগ তৈরি করতে হবে যেখানে আমরা ওয়েবসকেট সংযোগের জন্য কোন পোর্টগুলি ব্যবহার করতে হবে এবং কোন ব্যাকএন্ড সার্ভারকে রেফারেন্স করতে হবে তা আবদ্ধ করি৷ এই ক্ষেত্রে, আমরা পোর্ট 80 নির্দিষ্ট করি এবং আমাদের HAProxy নিরীক্ষণ করতে 'পরিসংখ্যান' পৃষ্ঠা অ্যাক্সেস করার জন্য URL দিই। সবশেষে, আমরা লোড ব্যালেন্সিং-এ রেফারেন্স করার জন্য কোন ব্যাকএন্ড বিভাগটি সংজ্ঞায়িত করি।

'ব্যাকএন্ড' বিভাগে, আমরা রাউন্ড রবিন ব্যবহার করে লোড বিতরণ করি। সংযোগের অনুরোধ পাঠানোর সময় ক্লায়েন্টের আইপি ঠিকানা ধারণ করে এমন একটি 'এক্স-ফরওয়ার্ড-ফর' শিরোনাম অন্তর্ভুক্ত করার জন্য 'অপশন ফরওয়ার্ড ফর' HAProxy-কে নির্দিষ্ট করে। এইভাবে, ব্যাকএন্ড সার্ভার সঠিক ক্লায়েন্ট আইপি পাবে।

'অপশন http-সার্ভার-ক্লোজ' সার্ভার সংস্থানগুলি গ্রহণ করা থেকে কোনও নিষ্ক্রিয় সংযোগগুলিকে বাদ দিয়ে সংস্থানগুলিকে সীমাবদ্ধ করে। যদিও WebSocket সংযোগগুলি দীর্ঘস্থায়ী, আমাদের অবশ্যই নিষ্ক্রিয় দীর্ঘস্থায়ী সংযোগগুলি পরীক্ষা করতে হবে এবং অপ্রয়োজনীয় সম্পদের অপচয় এড়াতে সেগুলি বন্ধ করতে হবে।

অবশেষে, ব্যাকএন্ড সার্ভারগুলি যুক্ত করুন যা আপনি ট্র্যাফিক বিতরণ করতে ব্যবহার করবেন। নিশ্চিত করুন যে আপনি সার্ভারের জন্য সঠিক আইপি ঠিকানা দিয়েছেন এবং নিম্নলিখিত চিত্রে থাকাগুলি প্রতিস্থাপন করুন:

আপনার HAProxy এখন WebSocket সংযোগের জন্য কনফিগার করা হয়েছে৷ পরিবর্তনগুলি সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন।

3. বৈধতার জন্য পরীক্ষা

আমরা HAProxy পুনরায় চালু করার আগে, ফাইলটি বৈধ কিনা এবং কোনো ত্রুটি নেই কিনা তা পরীক্ষা করার জন্য আমরা একটি দ্রুত কমান্ড চালাতে পারি। এর জন্য, নিম্নলিখিত কমান্ডটি চালান:

$ sudo হ্যাপ্রক্সি -গ -চ / ইত্যাদি / হ্যাপ্রক্সি / haproxy.cfg

4. ওয়েবসকেট সংযোগটি পুনরায় চালু করুন এবং পরীক্ষা করুন

ফাইলটি বৈধ হয়ে গেলে, HAProxy পরিষেবাটি পুনরায় চালু করুন।

এটাই. আপনি WebSocket সংযোগের জন্য HAProxy কনফিগার করেছেন। সমস্ত WebSocket ট্র্যাফিক সঠিকভাবে ফরোয়ার্ড হয়েছে তা নিশ্চিত করতে আপনি সংযোগটি পরীক্ষা করতে পারেন।

উপসংহার

WebSocket সংযোগের জন্য HAProxy কনফিগার করা একটি চাওয়া-পাওয়া সমাধান, বিশেষ করে ওয়েব অ্যাডমিনিস্ট্রেটরদের দ্বারা। এই পোস্টটি প্রক্রিয়াটি বিশদভাবে বিশদভাবে বর্ণনা করেছে, পদক্ষেপগুলি এবং একটি উদাহরণ প্রদান করে তা নিশ্চিত করার জন্য যে আপনি স্বাচ্ছন্দ্যে অনুসরণ করছেন এবং আপনার ক্ষেত্রে এটি প্রয়োগ করতে পরিচালনা করছেন। প্রতিটি ধাপের মধ্য দিয়ে যান এবং নিশ্চিত করুন যে আপনি ধারণাটি এবং এটি বাস্তবায়নের প্রক্রিয়া বুঝতে পেরেছেন।