আমার অ্যাপ্লিকেশন সার্ভারগুলিতে ট্র্যাফিক পুনর্নির্দেশের জন্য একাধিক লোড ব্যালেন্সার ব্যবহার করা কি সম্ভব?


9

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


আপনার প্রতিক্রিয়ার জন্য আপনাকে ধন্যবাদ. সুতরাং মূলত, যদি আমি আমার ট্র্যাফিক পরিচালনা করতে একাধিক লোড ব্যালান্সার ব্যবহার করতে চাই তবে তাদের প্রত্যেকটির জন্য আমাকে কেবল আলাদা সিএনএল সেটআপ করতে হবে? বিশেষত, আমার সাইটে ট্র্যাফিক পরিচালনা করতে যদি আমার 10 ভারসাম্য ভারসাম্যের প্রয়োজন হয়, তবে এটি করার একমাত্র উপায়?
ব্যবহারকারী 3790827

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

1
@ আনোটোলি আমি এখনও কোনও সিদ্ধান্ত নিই নি। আমি এখানে উপস্থাপিত সমাধানগুলি পর্যালোচনা করেছি এবং আমার কিছু বন্ধুদের সাথে কথা বলেছি যারা আমাকে অন্যান্য সমাধানের প্রস্তাব দিয়েছিল। আমি মনে করি যে আমার ব্যবহারের ক্ষেত্রে এখন পর্যন্ত সবচেয়ে ভাল সমাধান হ'ল ডিও বা ভল্টারের মতো সস্তা সরবরাহকারীর ভিপিএস সার্ভারগুলি ব্যবহার করা যা ভার্চুয়াল আইপি সরবরাহ করে না এবং ক্লায়েন্ট লোড ব্যালেন্সিংয়ের সাথে অ্যালগোলিয়া দ্বারা ব্যবহৃত পদ্ধতিটি ব্যবহার করবে। আমার এইপিএর জন্য এইচএ এবং স্কেলিবিলিটি দরকার কেবল তাই প্রতিটি লোড ব্যালেন্সারের জন্য আমি যদি আলাদা সাবডোমেন তৈরি করি তবে এত বড় চুক্তি হবে না। উইজেটের এই শেষ ব্যবহারকারীরা তাদের কোনওভাবেই লক্ষ্য করবে না।
ব্যবহারকারী 3790827

@ user3790827 একটি পরিকল্পনার মতো শোনাচ্ছে। আশেপাশে অনেক ধরণের নিদর্শন রয়েছে এমন প্রকারের প্রয়োজনীয়তা সত্ত্বেও, সবাই একই সমস্যায় পড়ে তবে কারও কাছেই এসএলএ 99.9 (বছরে 8 ঘন্টা ডাউনটাইম) বা তার বেশি নয়। এইচএ সমাধানগুলি সাধারণত ব্যয়বহুল এবং প্রাপ্যতা এবং ব্যয়ের মধ্যে ব্যবসায়িক বাণিজ্য বন্ধ। ক্লায়েন্টরা সাধারণত 99.9 গ্রহণ করে এবং সম্ভাব্য ডাউনটাইম বা নির্ধারিত সময়সীমার সম্পর্কে সচেতন, এমনকি 100% আপটাইম আপনাকে বিকাশ / স্থাপনা / সুরক্ষা বা মানবিক ভুল সহ শূন্য বাগের নিশ্চয়তা দেয় না।
আনাতলি

আমি অনুসন্ধান করেছি যে গুগল ক্রোম ডিএনএসকে অকার্যকরকরণ এবং কোয়েরিটিকে 3 সেকস সময়সীমার ক্ষেত্রে ঘটতে বাধ্য করে। অন্যান্য ব্রাউজারগুলির আচরণ যদিও নিশ্চিত নয়।
আনাতলি

উত্তর:


12

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

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

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

অবশ্যই আপনার অবকাঠামো অবশ্যই এটি সমর্থন করে এবং ট্র্যাফিক প্রেরণের কারণে বাতিল হয়ে যাওয়ার কারণে ওভারহেড রয়েছে।
আরও তথ্য এখানে উদাহরণ: http://community.brocade.com/t5/SteelApp-Docs/Feature-Brief-Deep-dive-on-Multi-Hosted-IP-addresses-in-Stingray/ta-p/73867


আপনি যখন বলছেন "অবশ্যই আপনার অবকাঠামো অবশ্যই এটি সমর্থন করে" আপনার মানে আমার একটি অতিরিক্ত মেশিন বা ভিএম দরকার যা লোড ব্যালান্সারে অনুরোধগুলি প্রেরণ করবে?
ব্যবহারকারী 3790827

2
@ ব্যবহারকারী 3790827 এই প্রসঙ্গে অবকাঠামো হ'ল নেটওয়ার্ক সরঞ্জাম, সার্ভার নয় ''
জেনি ডি

1
আমি একটি মেঘ সরবরাহকারী ব্যবহার করার পরিকল্পনা করছি তাই শারীরিক অবকাঠামোর উপর আমার সরাসরি নিয়ন্ত্রণ নেই। আমার ভিপিএস পরিষেবা সরবরাহকারীর জন্য আমার কী জিজ্ঞাসা করা উচিত?
ব্যবহারকারী 3790827

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

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

6

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

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

এই কৌশলটির ডিএনএস লোড ব্যালেন্সিংয়ের মাধ্যমে অনেকগুলি সুবিধা রয়েছে যা একটি সহজ কৌশল (এবং যা অন্য উত্তরে যত্ন নেওয়া হয়)।

উদাহরণস্বরূপ ডিএনএস লোড ব্যালেন্সিং বোঝা হয়:

  • ডিএনএস ক্যাশে করার প্রক্রিয়াটির ধীরগতি
  • সীমিত লোড ব্যালেন্সিং অ্যালগরিদম (সাধারণত কেবল রাউন্ড-রবিন)
  • ক্লায়েন্টের কাছে লোড ব্যালেন্সিং সিদ্ধান্তের আউটসোর্সিং (ডিএনএস রেকর্ডের ক্যাচিংয়ের মাধ্যমে)
  • (DNS রেকর্ড TTLS উপর ভিত্তি করে সেবা সারির স্লো ড্রেন যখন একটি সার্ভার (অর্থাত একটি লোড ব্যালেন্সার) আবর্তনের বাইরে নিয়ে যাওয়া হয় যেমন আইএসপির এবং ক্লায়েন্ট দ্বারা পরিচালিত )
  • লোড ব্যালান্সারের ব্যর্থতায় ধীর গতির ব্যর্থতা

এইচএর জন্য ভার্চুয়াল আইপি প্রোটোকল ব্যবহারের ক্ষেত্রে উদাহরণস্বরূপ অর্জনের একটি পছন্দ থাকতে পারে:

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

কোন কৌশল এবং প্রোটোকল আপনার দৃশ্যের সাথে সবচেয়ে বেশি উপযুক্ত তা কেবল আপনি জানেন।


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

এখানে কি আপনি যদি প্রথম অনুচ্ছেদে বর্ণনা একটি চমৎকার বিবরণ cisco.com/c/en/us/support/docs/application-networking-services/...
মার্টিন Podval

2

প্রয়োজনীয়তাগুলি: একটি ব্যবহারিক সমাধান রয়েছে যা মেঘ বা যে কোনও প্রকারের পরিবেশের জন্য কাজ করে যেখানে হার্ডওয়্যার লোড ব্যালান্সার, বিজিপি প্রোটোকল এবং সমস্ত কিছুতে অ্যাক্সেস নেই।

একটি আবেদনের আয়ের অনুরোধ নম্বরটি অজানা তবে কোনও ভয় ছাড়াই বর্ধিত লোড প্রত্যাশা পূরণের জন্য যথেষ্ট পরিমাণে বেশি হওয়া উচিত।

আসুন লোডের অনুরূপ প্রকৃতির একটি অ্যাপ্লিকেশন সন্ধান করুন, যেমন লগিং স্টোর এবং অনুসন্ধান অ্যাপ্লিকেশন। আমি দেখেছি এক

তারা কি চান:

  1. সংগ্রহকারীদের জুড়ে ভার ভারসাম্য রক্ষা করুন
  2. দোষী সহনশীলতার অফার করুন, যদি কোনও সংগ্রাহকের একজন মারা যায় বা সমস্যাগুলির মুখোমুখি হয় তবে আমাদের ডেটা ইনজিস্টিং চালিয়ে যেতে অনুমতি দিন
  3. আমাদের লগ ভলিউমের বৃদ্ধি সহ অনুভূমিকভাবে স্কেল করুন

তারা ELB সম্পর্কে কী চেষ্টা করেছিল এবং শিখেছে:

  1. আশানুরূপ কাজ করে না
  2. ভারী চাপের কারণে বিলম্বিত সমস্যাগুলি
  3. পর্যাপ্ত পর্যবেক্ষণের সুবিধা নেই
  4. অনেকগুলি সীমাবদ্ধতা (ওপেন পোর্ট এবং প্রোটোকল সংখ্যা)

তারা রুট ৫৩ দিয়ে কেন বেছে নিলো:

  1. "রাউন্ড রবিন বেশ বেসল লোড ভারসাম্যহীন, তবে দক্ষতার দিক থেকে এটি আমাদের পক্ষে ভাল কাজ করে"
  2. "আমরা 53 টি রুট ব্যর্থ স্বাস্থ্য চেকের সুবিধা গ্রহণ করি।"
  3. "যদি কোনও সংগ্রাহকের সাথে সমস্যা হয়, রুট 53 এটি স্বয়ংক্রিয়ভাবে পরিষেবাটি থেকে সরিয়ে নিয়ে যায়; আমাদের গ্রাহকরা কোনও প্রভাব দেখতে পাবেন না।"
  4. 53 রুটের সাথে কোনও প্রাক-ওয়ার্মআপের প্রয়োজন নেই

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

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


আসুন দেখে নিই যে ডাব্লুএস ডিএনএস ফেইলওভারকে আবার কী বলে :

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

সেই কৌশলটি ELB (কেবলমাত্র একটি নোটের জন্য প্রয়োজনীয় নয়) আরও শক্তিশালী করে তোলে, আবার এটি আরআর + স্বাস্থ্য পরীক্ষার উপর ভিত্তি করে:

রুট 53 ডিএনএস ফেলওভার পর্দার পিছনে ইএলবির সাথে সংহত করে এই ব্যর্থতার সমস্ত পরিস্থিতিতে পরিচালনা করে। একবার সক্ষম হয়ে গেলে, রুট 53 স্বয়ংক্রিয়ভাবে পৃথক ELB নোডগুলির জন্য স্বাস্থ্য পরীক্ষাগুলি কনফিগার করে এবং পরিচালনা করে।


আসুন এখন দেখুন কীভাবে এটি দৃশ্যের পিছনে কাজ করে। স্পষ্ট প্রশ্নটি কীভাবে ডিএনএস ক্যাশে মোকাবেলা করবেন:

তবে, ডিএনএস ক্যাশে করা এখানে এখনও সমস্যা হতে পারে (আমাদের আগের পোস্টটি দেখুন যেখানে "দীর্ঘ লেজ" সমস্যাটি আচ্ছাদিত রয়েছে) যদি টিটিএল আপনার ক্লায়েন্ট এবং রুট 53 এর মধ্যে সমস্ত স্তর দ্বারা সম্মান না করা হয় তবে আপনি "ক্যাশে বুস্টিং" কৌশল প্রয়োগ করতে পারেন: একটি অনন্য ডোমেইনে একটি অনুরোধ প্রেরণ করুন

("http://<unique-id>.<your-domain>") 

এবং একটি ওয়াইল্ডকার্ড রিসোর্স সংজ্ঞায়িত করুন

Record "*.<your-domain>" to match it.

অ্যালগোলিয়া "ক্লায়েন্ট পুনরায় চেষ্টা কৌশল" চালু করেছে যা আপনার ক্লায়েন্ট (আপনার ক্ষেত্রে জেএস) যদি এটি পরিচালনা করতে পারে তবে বেশ ভালভাবে কাজ করে:

আমরা আমাদের এপিআই ক্লায়েন্টগুলিতে একটি বেসিক পুনরায় চেষ্টা কৌশল প্রয়োগ করেছি। প্রতিটি এপিআই ক্লায়েন্ট তিনটি পৃথক মেশিন অ্যাক্সেস করতে সক্ষম হতে বিকাশিত হয়েছিল। তিনটি পৃথক ডিএনএস রেকর্ড প্রতিটি ব্যবহারকারীর প্রতিনিধিত্ব করে: USERIDID-1.algolia.io, USERID-2.algolia.io এবংUSERID-3.algolia.io। আমাদের প্রথম প্রয়োগটি ছিল এলোমেলোভাবে রেকর্ডগুলির মধ্যে একটি নির্বাচন করা এবং তারপরে ব্যর্থতার ক্ষেত্রে ভিন্ন একটিতে চেষ্টা করে ry


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

1
বর্তমানে ব্যবহৃত লোড ব্যালেন্সারের সাথে ব্যর্থতা দেখা দিলে কেউ স্ট্যান্ডবাই লোড ব্যালেন্সারে ট্র্যাফিক পুনর্নির্দেশের জন্য ক্লাউডফ্লেয়ারের ডিএনএস ক্লাউডফ্লেয়ার / ফিজারস- ফ্টিমাইজার ব্যবহার করার পরামর্শও দিয়েছিল। cloudflare.com/dns
ব্যবহারকারী 3790827
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.