একটি সফ্টওয়্যার লোড ব্যালেন্সার স্কেল করার একটি সাধারণ পদ্ধতি কী?


22

আমি প্রায়শই অ্যাপ্লিকেশন সার্ভারগুলির একগুচ্ছের সামনে একটি এসএলবি / বিপরীত প্রক্সি সহ ওয়েব অ্যাপ্লিকেশন আর্কিটেকচার দেখতে পাই।

কোনও একক এসএলবি কার্যকরভাবে পরিচালনার জন্য যখন এসএলবিতে সংযোগের সংখ্যার জন্য প্রচুর সংস্থান প্রয়োজন হয় তখন কী ঘটে ? সর্বোপরি একটি কংক্রিটের জন্য, 2 মিলিয়ন অবিচ্ছিন্ন HTTP সংযোগ বিবেচনা করুন। স্পষ্টতই একটি একক এসএলবি এটি পরিচালনা করতে পারে না।

স্কেলিং জন্য প্রস্তাবিত কনফিগারেশন কি আউট একটি SLB?

এলবিগুলির একটি গ্রুপ / ক্লাস্টার তৈরি করা কি সাধারণ? যদি তা হয় তবে ক্লায়েন্ট লোড কীভাবে এলবি গ্রুপের মধ্যে ছড়িয়ে পড়ে?


z8000, আপনি কী সফটওয়্যার লোড-ব্যালেন্সার ব্যবহার করছেন তা বলতে পারেন? এছাড়াও, যদি সম্ভব হয় তবে লোড-ব্যালেন্সিংয়ের জন্য এটি কোন অ্যালগরিদম / প্রোটোকল ব্যবহার করে।
মার্টিন

আমার কোন পছন্দ নেই প্রশ্নটি পরিষ্কার হওয়ার জন্য আপডেট করেছি।
z8000

কেন বোঝা ভারসাম্যকারী অভ্যন্তরীণভাবে 2 মিলিয়ন স্থায়ী এইচটিটিপি সংযোগগুলি পরিচালনা করতে পারে না তা আমার কাছে স্পষ্ট নয়।
দোলা

উত্তর:


10

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


রাইট! একক এলবি থাকা "সমস্যা"। আমি সম্মত হই যে সাধারণত থ্রুপুট কোনও সমস্যা হবে না। তবে আমি র‌্যামের মতো অন্যান্য সংস্থান সম্পর্কে উদ্বিগ্ন, যা আমার ক্ষেত্রে সীমাবদ্ধ। কেবলমাত্র এতগুলি সংযোগ রয়েছে যা র‌্যাম ফুরিয়ে যাওয়ার আগে একক এসএলবিতে হোস্ট করা যায়।
z8000

HAProxy প্রতি জিবি র্যামের প্রায় 20k-60k সক্রিয় সেশনগুলি পরিচালনা করতে পারে। আমি বিশ্বাস করি এলভিএস আরও অনেক কিছু করতে পারে, যেহেতু বজায় রাখা সেশন ডেটা কম। আপনি যদি র‌্যামের বাইরে চলে যান তবে হয় এটিকে আপগ্রেড করুন বা একটি রাউন্ড-রবিন ডিএনএস সিস্টেম দ্বারা সজ্জিত অন্য লোড ব্যালেন্সারটি তৈরি করুন।
হিপ্পি

1
"লোড ব্যালান্সারগুলি সহজেই অন্যান্য লোড ব্যালেন্সারদের দ্বারা মাপানো যায় না" - আসলে, একক এএসআইসি ভিত্তিক এল 4 লোড ব্যালেন্সার প্রায়শই দুর্দান্ত ফলাফল সহ কয়েকজন এল 7 এইচটিটিপি ভিত্তিক লোড ব্যালান্সারের সামনে রাখা যেতে পারে। একই বুনিয়াদি নীতিটি কেবলমাত্র সফ্টওয়্যার-এর বাস্তবায়নের জন্য প্রযোজ্য, উদাহরণস্বরূপ, নিগেক্সের সামনে লিনাক্স LVS
জেস্পার এম

19

ঠিক আছে, ইতিমধ্যে গ্রহণযোগ্য উত্তর আছে, তবে যুক্ত করার মতো কিছু আছে .. লোড ব্যালেন্সার স্তরকে স্কেল করার সর্বাধিক সাধারণ 'শাস্ত্রীয়' উপায়গুলি (কোনও নির্দিষ্ট ক্রমে নয়):

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

  • রাউটিং বা ফায়ারওয়াল টুইটগুলি একাধিক লোড ব্যালেন্সারে লোড ছড়িয়ে দিতে। সামনের রাউটার বা সামনের ফায়ারওয়ালটি সোর্স আইপি ঠিকানাটি হ্যাশ করে , লোড ব্যালান্সারদের একাধিক সম-ব্যয়ের রুট বা অন্য জাতীয় অনুরূপ করে বিভিন্ন আইপি ঠিকানায় (প্রতিটি এক লোড ব্যালেন্সার জুটির প্রতিনিধিত্ব করে) আগত সংযোগগুলি ছড়িয়ে দিন ।

  • এর একটি স্তর আইপি স্তর লোড balancers HTTP- র স্তর লোড balancers একটি স্তর সামনে । আইপি-স্তর লোড ব্যালেন্সিং এএসআইসি / সিলিকনে প্রয়োগ করা যেতে পারে এবং কিছু জিনিসের জন্য দ্রুত দুষ্ট হতে পারে। সুতরাং একক আইপি লোড ব্যালেন্সার জুটি প্রায়শই বেশ কয়েকটি এইচটিটিপি / এইচটিটিপিএস স্তরের লোড ব্যালেন্সারগুলির সাথে 'আপ রাখতে' এবং আর্কিটেকচারটি সুন্দর এবং সরল রাখার সময় মাল্টি-গিগাবিট পারফরম্যান্স স্তর সরবরাহ করতে পারে।

উপরোক্ত বিভিন্ন উপায়ে সম্পূর্ণ গভীরভাবে যেতে খুব দীর্ঘ উত্তর দরকার require তবে সাধারণভাবে, লোড ব্যালান্সার স্তরকে স্কেল করা এতটা কঠিন নয়, অ্যাপ্লিকেশন সার্ভার স্তর এবং বিশেষত ডাটাবেস স্তরকে স্কেল করা আরও শক্ত।

আপনি কোনও অ্যাপ্লিকেশন ফর্ম ফ্যাক্টর (এফ 5, সিসকো, এ 10) বা জেনেরিক সার্ভার (উইন্ডোজ / লিনাক্স + সফ্টওয়্যার) চয়ন করুন তা কম বিবেচনা করে। লোড ব্যালেন্সার স্তরটি স্কেল করার সময় প্রধান বিবেচনাগুলি হ'ল:

  • রাজ্য-পূর্ণ বনাম রাজ্যহীন। আপনার কি একেবারে স্টিকি সেশন দরকার, না আপনি ছাড়া বাঁচতে পারবেন? রাষ্ট্র না রাখা সবকিছুকে সহজ করে তোলে।
  • লোড ব্যালেন্সিংয়ের জন্য 'হার্ডওয়্যার' (এএসআইসি) বনাম 'সফটওয়্যার' (সাধারণ উদ্দেশ্য সার্ভার)। প্রত্যেকেরই এর উপকারিতা এবং কনস রয়েছে, উপরে লিঙ্কিত HAProxy ওভারভিউ ডকুমেন্টেশন দেখুন।
  • এল 3/4 (আইপি / টিসিপি / আইপি) লোড ব্যালেন্সিং বনাম এল 7 (এইচটিটিপি) লোড ব্যালেন্সিং। আবার, ভাল এবং মতামত, HAProxy ডক একটি ভাল ওভারভিউ সরবরাহ করে।
  • এসএসএল সমাপ্তি , যেখানে, ওয়েবনোডে বা লোড ব্যালেন্সারে।

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


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

9

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

প্রবাহগুলি (টিসিপি অধিবেশনগুলি) সোর্স / গন্তব্য আইপি এবং টিসিপি পোর্টগুলির মতো শিরোনাম ব্যবহার করে হ্যাশ করা উচিত , তারা কোন ফ্রন্টএন্ডে যাবে তা সিদ্ধান্ত নিতে। আপনার ফ্রন্টএন্ড্ট মারা যাওয়ার পরে এটি ব্যবহার বন্ধ হয়ে যায় তা নিশ্চিত করার জন্য আপনারও একটি ব্যবস্থা প্রয়োজন।

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

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

প্রথম কৌশল: একটি ফায়ারওয়াল দিয়ে

সম্ভবত আপনার কাছে একটি দম্পতি রাউটার রয়েছে যার উপর আপনার আইএসপি আপলিংকগুলি সংযুক্ত রয়েছে। আপনার আইএসপি 2 টি লিঙ্ক সরবরাহ করে (সক্রিয় / প্যাসিভ, ভিআরআরপি ব্যবহার করে)। আপনার রাউটারগুলিতে, আপনি ভিআরআরপিও ব্যবহার করেন এবং আপনার পাবলিক নেটওয়ার্কগুলিতে যাওয়া ট্র্যাফিকটিকে ফায়ারওয়ালে নিয়ে যান। ফায়ারওয়ালগুলি ( FW 1এবং FW 2নীচে) এছাড়াও সক্রিয় / নিষ্ক্রিয় এবং ট্র্যাফিক ফিল্টার করবে এবং প্রতিটি প্রবাহকে একটি স্বাস্থ্যকর ফ্রন্টএন্ড সার্ভারে প্রেরণ করবে (আপনার HTTP লোড ব্যালান্সার FE 1এবং FE 2নীচে)।

      + -------------- + + -------------- +
      | আইএসপি রাউটার এ | | আইএসপি রাউটার বি |
      + -------------- + + -------------- +
             | |
           == # ======================= # == (সর্বজনীন নেটওয়ার্ক)
             | |
      + --------------- + + --------------- +
      | আপনার রাউটার এ | | আপনার রাউটার বি |
      + --------------- + + --------------- +
             | |
           == # ===== # ========= # ===== # == (আরএফসি 1918 ব্যক্তিগত নেটওয়ার্ক)
             | | | |
       + ------ + + ------ + + ------ + + ------ +
       | এফডাব্লু 1 | | এফই 1 | | এফই 2 | | এফডাব্লু 2 |
       + ------ + + ------ + + ------ + + ------ +

লক্ষ্যটি হ'ল এটির মতো একটি প্রবাহ চেহারা:

  1. আইএসপি ট্র্যাফিককে আপনার আইপিগুলিতে আপনার সক্রিয় রাউটারে যাত্রা করে।
  2. আপনার রাউটারগুলি ট্রাফিকটিকে কোনও ভিআইপি-র দিকে যাত্রা করে যা একটি আরএফসি 1918 ঠিকানা ব্যবহার করে। এই ভিআইপি সক্রিয় ফায়ারওয়ালের মালিকানাধীন, অনেকটা ভিআরআরপি-র মতো। আপনি আপনার ফায়ারওয়াল প্রয়োজনের জন্য OpenBSD ব্যবহার করেন তাহলে, তারপর আপনি ব্যবহার করতে পারেন কার্প , VRRP / HSRP করার জন্য একটি পেটেন্ট-মুক্ত বিকল্প।
  3. আপনার ফায়ারওয়ালটি ফিল্টার প্রয়োগ করে (যেমন "কেবলমাত্র 80 / টিসিপি এবং 443 / টিসিপি এই নির্দিষ্ট আইপি ঠিকানায় যাওয়ার অনুমতি দিন")।
  4. আপনার ফায়ারওয়াল রাউটার হিসাবেও কাজ করে এবং প্যাকেটগুলিকে স্বাস্থ্যকর সম্মুখভাগে ফরোয়ার্ড করে।
  5. আপনার অগ্রভাগ টিসিপি সংযোগটি সমাপ্ত করে।

এখন যাদুটি 4 এবং 5 ধাপে ঘটে, সুতরাং তারা কী কী আরও বিশদে দেখুন see

আপনার ফায়ারওয়ালটি সীমান্তগুলির তালিকা ( FE 1এবং FE 2) জানে এবং এটি প্রবাহের একটি নির্দিষ্ট দিকের (যেমন উত্স আইপি এবং পোর্ট, অন্যান্য শিরোলেখগুলির মধ্যে হ্যাশ করে) এর উপর ভিত্তি করে সেগুলির মধ্যে একটি বাছাই করবে। তবে এটিও নিশ্চিত করা দরকার যে এটি ট্র্যাফিককে একটি স্বাস্থ্যকর অগ্রভাগে ফরোয়ার্ড করছে, অন্যথায় আপনি ট্র্যাফিককে ব্ল্যাকহোল করবেন। উদাহরণস্বরূপ, যদি আপনি ওপেনবিএসডি ব্যবহার করেন তবে আপনি এটি ব্যবহার করতে পারেন relayd। কিrelaydএটি সহজ: এটি আপনার সমস্ত সম্মুখভাগ স্বাস্থ্য পরীক্ষা করে (উদাহরণস্বরূপ একটি প্রোব এইচটিটিপি অনুরোধ প্রেরণ করে) এবং যখনই কোনও সম্মুখভাগ সুস্থ থাকে এটি কোনও টেবিলে এটি যুক্ত করে যা ফায়ারওয়াল প্রদত্ত প্রবাহের প্যাকেটের পরবর্তী হ্যাপ নির্বাচন করতে ব্যবহার করে । যদি কোনও সম্মুখভাগ স্বাস্থ্য পরীক্ষায় ব্যর্থ হয়, এটি টেবিল থেকে সরানো হবে এবং এটিতে আর কোনও প্যাকেট প্রেরণ করা হবে না। কোনও প্যাকেটকে কোনও ফ্রন্টএন্ডে ফরোয়ার্ড করার সময়, সমস্ত ফায়ারওয়াল প্যাকেটের গন্তব্য ম্যাকের ঠিকানাটি অদলবদল করে যাতে অগ্রভাগটি বেছে নেওয়া হয়।

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

Gotchas:

  • শেষের ব্যবহারকারীরা সরাসরি আপনার ফ্রন্টএন্ড সার্ভারগুলিতে সংযুক্ত হবেন কারণ আপনি ডিএসআর ব্যবহার করেন। হতে পারে এটি ইতিমধ্যে ঘটনা ছিল, তবে এটি যদি না হয় তবে আপনাকে নিশ্চিত করতে হবে যে তারা পর্যাপ্ত সুরক্ষিত।
  • যদি আপনি ওপেনবিএসডি ব্যবহার করেন তবে সাবধান থাকুন যে কার্নেলটি একক থ্রেডযুক্ত তাই একক সিপিইউ কোরের পারফরম্যান্স ফায়ারওয়ালের মধ্যস্থতা সীমিত করবে। আপনার এনআইসির ধরণ এবং আপনি যে প্যাকেটের হার দেখছেন তার উপর নির্ভর করে এটি সমস্যা হতে পারে। এই সমস্যাটি সমাধান করার উপায় রয়েছে (নীচে এটিতে আরও)।

দ্বিতীয় কৌশল: ফায়ারওয়াল ছাড়াই

এই কৌশলটি আরও দক্ষ তবে সেটআপ করা শক্ত কারণ এটি আপনার কাছে থাকা রাউটারগুলির নির্দিষ্টকরণের উপর আরও নির্ভর করে। উপরের ফায়ারওয়ালটি বাইপাস করা এবং ফায়ারওয়ালগুলি যে কাজ করছে তার সমস্ত কাজ রাউটারগুলিকে করতে হবে The

আপনার কাছে এমন রাউটারগুলির প্রয়োজন হবে যা প্রতি বন্দর এল 3 / এল 4 এসিএল, বিজিপি এবং ইসিএমপি এবং নীতি ভিত্তিক রাউটিং (পিবিআর) সমর্থন করে। কেবলমাত্র হাই-এন্ড রাউটারগুলি এই বৈশিষ্ট্যগুলিকে সমর্থন করে এবং বিজিপি ব্যবহার করার জন্য তাদের প্রায়শই অতিরিক্ত লাইসেন্স ফি থাকে। এটি সাধারণত হার্ডওয়্যার লোড ব্যালান্সারের তুলনায় সস্তা এবং এটি স্কেল করাও অনেক সহজ। এই হাই-এন্ড রাউটারগুলির সম্পর্কে ভাল কথাটি হ'ল তারা লাইন-রেটের প্রবণতা রয়েছে (যেমন তারা সর্বদা 10 জিবিই ইন্টারফেসে লিংকটি সর্বাধিক করতে পারে, কারণ তারা যে সমস্ত সিদ্ধান্ত নেয় সেগুলি এএসআইসি দ্বারা হার্ডওয়ারে করা হয়)।

যে সমস্ত পোর্টগুলিতে আপনার আইএসপি আপলিংক রয়েছে সেগুলিতে ফায়ারওয়ালে যে এসিএল ব্যবহার করা হত সেগুলি প্রয়োগ করুন (যেমন "কেবলমাত্র 80 / টিসিপি এবং 443 / টিসিপি এই নির্দিষ্ট আইপি ঠিকানায় যাওয়ার অনুমতি দিন")। তারপরে আপনার প্রত্যেকে প্রত্যেকে আপনার রাউটারের সাথে বিজিপি সেশন বজায় রাখুন। আপনি চমৎকার ব্যবহার করতে পারেন OpenBGPD অথবা (যদি আপনার frontends OpenBSD হয়) ক্যোয়াগ্যা । আপনার রাউটারটি স্বাস্থ্যকর প্রান্তের ট্র্যাফিক ইসিএমপি করবে (কারণ তারা তাদের বিজিপি সেশনগুলি বজায় রাখছে)। রাউটারটি পিবিআর ব্যবহার করে যথাযথভাবে ট্র্যাফিকের যাত্রা শুরু করবে।

পরিমার্জনা

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

নমুনা relaydকনফিগার

Https://calomel.org/relayd.html এও হাওটোও দেখুন

ভিআইপি = "1.2.3.4" # আপনার সার্বজনীন আইপি ঠিকানা
               # (আপনার একাধিক থাকতে পারে তবে দরকার নেই)
fe1 = "10.1.2.101"
Fe2 = "10.1.2.102"
Fe3 = "10.1.2.103"
fe4 = "10.1.2.104" # আপনি কোনও সংখ্যক সামনের অংশ রাখতে পারেন।
int_if = "em0"
টেবিল <fe> {$ fe1 আবার চেষ্টা করুন 2, $ fe2 আবার চেষ্টা করুন 2, $ fe3 পুনরায় চেষ্টা 2, $ fe4 পুনরায় চেষ্টা 2}
সারণী <ফ্যাকব্যাক> {127.0.0.1}

পুনঃনির্দেশ ওয়েবট্রাফি {
        $ ভিআইপি পোর্ট 80 শুনুন
        সেশন সময়সীমা 60
        <fe> চেক HTTP "/healthcheck.html" ডাইজেস্ট "(স্বাস্থ্যচেকা html এর sha1sum)" ইন্টারফেস $ int_if
}

2

ব্যক্তিগতভাবে আমি সেই সময়ে সহজতর, কম কনফিগারযোগ্য হার্ডওয়্যার লোড ব্যালান্সারগুলিতে যাই - সিসকো এর এসি / এএসএ, ফাউন্ড্রি সার্ভার আইরন, এমনকি জিউস জেডএক্সটিএম (খুব ভারী বোঝা থেকে নকশা করা একটি এসডাব্লু এলবি) এর মতো জিনিস।


অন্য কথায় স্কেল আপ ? এই জাতীয় একটি এলবি এখনও কয়েকটি সংযোগ (ইত্যাদি) এ সর্বাধিক আউট করা হবে। তখন কি? এটা আসলে আমার প্রশ্ন। ধন্যবাদ!
z8000

1
সত্যিই বড় সাইটগুলি ডিএনএস রাউন্ড-রবিনের কোনও ফর্মের অধীনে প্রচুর ভারী শুল্ক এলবি ব্যবহার করে - এটি বেশিরভাগ মুহুর্তের জন্য যথেষ্ট ভাল এবং কয়েক মিলিয়ন সংযোগ পরিচালনা করতে পারে। এটি বলেছিল যে কেন এত সংযোগ অবশ্যই খোলা থাকার প্রয়োজন রয়েছে তা নিয়ে প্রশ্ন রয়েছে ...
চপ্পার 3

আপনি কি অভ্যন্তরীণ আরআরডিএনএস বলতে চাইছেন? ঝরঝরে, আমি এটা ভাবিনি। পুনরায়: সংযোগগুলি খুলুন ... আমি এমন একটি অ্যাপের জন্য বিকল্পগুলি অন্বেষণ করছি যা সময়ের সাথে সাথে সংঘটিত ক্লায়েন্টগুলিকে ইভেন্ট পাঠানোর প্রয়োজন হিসাবে আপডেটগুলি প্রেরণ করা প্রয়োজন requires আমি একটি কাস্টম টিসিপি সার্ভার বা একটি এসএলবির পিছনে প্রচুর ওপেন এইচটিটিপি সংযোগের মধ্যে ছিঁড়েছি। আপনার মন্তব্যের জন্য আপনাকে ধন্যবাদ।
z8000

আমার মনে হয় এটি বাহ্যিক আরআরডিএনএস হতে হবে। উদাহরণস্বরূপ, টুইটার.কম অনেকগুলি বড় এলবিতে অনুরোধগুলি সমাধান ও বিতরণ করতে আরআরডিএনএস ব্যবহার করবে যা সার্ভারগুলিতে লোড বিতরণ করবে।
রবার্ট

হ্যাঁ রবার্ট, আপনি ঠিক বলেছেন, উদাহরণস্বরূপ আমরা সাইট-সাইটে সাইট আরআর করতে সিসকো জিএসএস বাক্স ব্যবহার করি।
চপার 3

1

সম্ভবত উত্তরগুলি প্রেরণের জন্য এতগুলি উন্মুক্ত সংযোগ অবিরত রাখার পরিবর্তে আপনার অ্যাপ্লিকেশনটিকে এমনভাবে কোড করুন যাতে ক্লায়েন্টরা আপনার সার্ভারগুলিকে প্রয়োজনীয় সময়ে প্রায়শই পল করে দেয়?

আপনি যা করছেন বাস্তবে যা যা করা হচ্ছে তার খুব প্রতিক্রিয়া দরকার কি এক ক্লায়েন্ট পরবর্তী পোলিংয়ের সময়কালে 15/20 সেকেন্ড অপেক্ষা করতে পারে?


0

একটি সাধারণ পন্থা হ'ল প্রয়োজনীয় লোড হ্যান্ডেল করার জন্য পর্যাপ্ত পরিমাণে একটি ক্লাস্টার তৈরি করা এবং একটি এসএলবি ব্যবহার করা যা ডিস্ট্রিমেন্টিক লোড-ব্যালেন্সিং করতে পারে (অবিচ্ছিন্ন সংযোগের ক্ষেত্রে)।

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


কার্প সম্পর্কে আপনি যা দাবি করেন তা এটি কীভাবে কাজ করে তা থেকে অনেক দূরে, আমি জানি না কোথা থেকে শুরু করব! আইপিভিএস উল্লেখ করার জন্য + -0।
3molo

@ 3molo ... তাই না? এ net.inet.carp.arpbalance দেখতে linux.com/archive/feed/35482 "..CARP উৎস-হ্যাশ একটি অনুরোধের উদ্ভব আইপি। হ্যাশ তারপর অনুরোধ হ্যান্ডেল করতে প্রাপ্তিসাধ্য পুকুর থেকে একটি ভার্চুয়াল হোস্ট নির্বাচন করতে ব্যবহার করা হয় । "
পল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.