HAProxy (অনেক লোড ব্যালান্সারের মতো) সাধারণত দুটি কথোপকথন বজায় রাখে। প্রক্সিটির ক্লায়েন্টের সাথে একটি সেশন রয়েছে (এক্ষেত্রে টিসিপি), এবং সার্ভারের সাথে অন্য একটি সেশন রয়েছে। সুতরাং প্রক্সিগুলির সাহায্যে আপনি লোড ব্যালান্সারের 2x সংযোগগুলি শেষ করবেন। সুতরাং সমস্ত ট্রাফিক লোড ব্যালান্সারের মাধ্যমে প্রবাহিত হয়।
যখন একাধিক লোড ব্যালেন্সার জুড়ে স্কেলিংয়ের বিষয়টি আসে তখন আমি মনে করি না যে আপনার প্রয়োজন। তবে এটির একটি ব্যবহারিক এবং মোটামুটি সহজ উপায় হ'ল দুটি ভাসমান আইপি এবং রাউন্ড রবিন ডিএনএসের সাথে রাখার মতো কিছু ব্যবহার করা those দুটি আইপির মধ্যে। কিপলাইভডের সাহায্যে লোড ব্যালান্সারগুলির মধ্যে একটি নীচে চলে গেলে অন্যটি দুটি আইপি ধরে রাখে, সুতরাং আপনি এইভাবে উচ্চ প্রাপ্যতা পাবেন। এটি বলা হচ্ছে, আমি মনে করি আপনি নিজের লোডের সাথে একটি সক্রিয় হ্যাপ্রোক্সি উদাহরণ দিয়ে ভাল হয়ে যাবেন।
HAProxy খুব ভাল স্কেল করে। একটি উদাহরণ, স্ট্যাক এক্সচেঞ্জ নেটওয়ার্ক ওয়েব সকেট ব্যবহার করে যা খোলা টিসিপি সংযোগগুলি বজায় রাখে। আমি এটি পোস্ট করার সময় আমাদের কাছে কোনও সমস্যা ছাড়াই একটি ভিএমওয়্যার ভার্চুয়াল মেশিনে 143,000 টিসিপি সকেট প্রতিষ্ঠিত রয়েছে। ভিএম-তে সিপিইউ ব্যবহার প্রায় 7%।
HAProxy এর সাথে এই ধরণের সেটআপ দিয়ে নিশ্চিত করুন যে আপনি maxconn
যথেষ্ট উচ্চ পর্যায়ে আছেন। আপনাকে শুরু করার জন্য এখানে HAProxy কনফিগারেশনের কয়েকটি উদাহরণ রয়েছে:
frontend fe_websockets
bind 123.123.123.123:80
mode tcp
log global
option tcplog
timeout client 3600s
backlog 4096
maxconn 50000
default_backend be_nywebsockets
backend be_nywebsockets
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server web1 10.0.0.1:1234
server web2 10.0.0.2:1234
timeout connect 1s
timeout queue 5s
timeout server 3600s