HAProxy এর সাথে টিসিপি লোড ব্যালেন্সিং ব্যবহার করার সময়, সমস্ত বহির্মুখী ট্রাফিক এলবি দিয়েই প্রবাহিত হয়?


19

আমি ভিএম ব্যবহার করে হোস্ট করার জন্য একটি অ্যাপ্লিকেশন স্থাপন করছি (সম্ভবত অ্যামাজন, তবে এটি পাথরে সেট করা নেই) যার জন্য ধ্রুবক টিসিপি সংযোগগুলির বৃহত সংখ্যক (50 কে বা তাই সম্ভব) ভারসাম্য রোধ করতে এইচটিটিপি লোড ব্যালেন্সিং এবং লোড উভয়েরই প্রয়োজন হবে। তথ্যের পরিমাণ এত বেশি নয়, তবে আপডেটগুলি ঘন ঘন হয়।

এই মুহুর্তে আমি লোড ব্যালান্সারগুলি মূল্যায়ন করছি এবং HAProxy এর আর্কিটেকচার সম্পর্কে কিছুটা বিভ্রান্ত। আমি যদি টিসিপি সংযোগগুলিতে ভারসাম্য বজায় রাখতে HAProxy ব্যবহার করি, তবে ফলস্বরূপ সমস্ত ট্র্যাফিক লোড ব্যালেন্সারের মধ্য দিয়ে প্রবাহিত হবে? যদি তা হয় তবে অন্য কোনও সমাধান (যেমন এলভিএস বা এমনকি এনগিনেক্স_টিসিপি_প্রক্সি_মডিউল) আরও ভাল ফিট হতে পারে?

উত্তর:


33

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

যে 143,000 - এটি কি এখনও ওয়েব সকেটগুলির বিষয়ে কথা বলছে? বা অন্য জিনিস কি?
মার্ক গ্র্যাভেল

@ মার্কগ্রাভেল: কার্যত সমস্ত ওয়েব সকেট। মনে রাখবেন যে এটি 2x যদিও যদিও আমি আমার পরিচিতি হিসাবে বলেছি, সুতরাং ওয়েব সকেট সার্ভারগুলি মোট ~ 70k দেখতে পাবে
কাইল ব্র্যান্ড

@ কাইল - আপনার কী কারণে ওয়েব সকেট এবং অবিরাম টিসিপি সংযোগ প্রয়োজন? এই ওয়েবসাইটটিতে এমন কোনও রিয়েল-টাইম বৈশিষ্ট্য নেই বলে মনে হয়।
ধারাবাহিকতা

@ সমাপ্তি: ইনবক্স বিজ্ঞপ্তি, ভোট, সম্পাদনা, নতুন মন্তব্য / উত্তর / প্রশ্ন সহ রিয়েল টাইম বৈশিষ্ট্য রয়েছে। নিশ্চিত না যে তারা কেবলমাত্র একটি নির্দিষ্ট প্রতিবেদনের সীমা বন্ধ হাতের ব্যবহারকারীদের জন্য সক্ষম হয়েছে, যদি আপনি তাদের না দেখেন তবে আপনি মেটা.স্ট্যাকওভারফ্লো ডটকম
কাইল ব্র্যান্ড্ট

1
@ কাইলব্র্যান্ড কী টিসিপি-মোডে কাজ করে?
elslooo

2

হ্যাঁ, সমস্ত ট্র্যাফিক সাধারণত লোড ব্যালেন্সারের মধ্য দিয়ে যেতে হবে। অনুরোধগুলি লোড ব্যালান্সারের দ্বারা গৃহীত হয় এবং প্রতিক্রিয়াগুলি লোড ব্যালান্সারের কাছে ফিরে পাঠানো হয় যা তাদের ক্লায়েন্টদের কাছে ফেরত প্রেরণ করে।

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


2

ডিএসআর (ডাইরেক্ট সার্ভার রিটার্ন) ব্যবহার এবং কনফিগার করার সম্ভাবনা রয়েছে তবে লোডবালেন্সারের সাথে এর কোনও যোগসূত্র নেই তবে টিসিপি-স্ট্যাক (রাউটিং টেবিল) এ কনফিগার করা হয়েছে। আমরা এটি একটি বড় ভিডিও স্ট্রিমিং পোর্টালের জন্য ব্যবহার করে আসছি। যদিও এটি কাজ করে এটি আপনাকে প্রয়োজনীয় রাউটিংয়ের জটিলতা সম্পর্কে উল্লেখযোগ্য পরিমাণে মাথা ব্যাথা দেবে।

সুতরাং আমি খুব ভালভাবে ব্যবহার এবং ত্রুটিগুলি বিবেচনা না করে এই কৌশলটি ব্যবহার করার পরামর্শ দেব না।

সেখানে শুরু করার জন্য কিছু ইঙ্গিত থাকতে পারে:

আনন্দ কর!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.