লেটেন্সি লোড ব্যালেন্সিং + ব্যর্থতা সমাধান


1

আমি গতিশীল ব্যর্থতা ওভারিংয়ের সাথে মিলিত একটি বিলম্ব (বা জিও) লোড ব্যালেন্সিং সমাধান খুঁজছি।

অবকাঠামোটি ওভিএইচ থেকে 3 উত্সর্গীকৃত সেভারের উপর ভিত্তি করে। সার্ভারগুলি 3 বিভিন্ন ভৌগলিক অবস্থানে (কানাডা, ফ্রান্স এবং অস্ট্রেলিয়া) এ অবস্থিত।

আমি অর্জন করার চেষ্টা করছি এমন কয়েকটি জিনিস রয়েছে:

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

সমস্যার ছোট উদাহরণ

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

আমি ইতিমধ্যে এডাব্লুএস রুট 53 এর দিকে নজর রেখেছি, যা দুর্দান্ত তবে এটি কেবল একটি ডিএনএস, সুতরাং এটি ব্যর্থ অংশটি সমাধান করবে না।

ওভিএইচ-এর আইপি লোড ব্যালেন্সিং রয়েছে, তবে আমি এটি কাজ করতে পারি না এবং সমস্যা 1 সমাধানের বিকল্প আমি পাইনি।

আমি তৃতীয় পক্ষের পরিষেবা ব্যবহার সহ যে কোনও ইঙ্গিত বা সমাধানে আগ্রহী।

আমি প্রতিটি স্থানে 3 টি ছোট ভিপিএস সার্ভার কেনার একটি বিকল্প বিবেচনা করছি (প্রধান সার্ভারগুলির প্রত্যেকের কাছে) যা গেটওয়ে হিসাবে কাজ করবে। এই সমাধানে আমি ভিপিএস সার্ভারগুলিতে বিলম্বিত লোড ভারসাম্য সরবরাহ করতে এডাব্লুএস রুট 53 ব্যবহার করতে পারি এবং সার্ভারগুলি ব্যর্থ ওভারিং পরিচালনা করবে। সংজ্ঞা অনুসারে তারা 100% সময় সক্রিয় থাকবে, যখন মূল সার্ভারগুলিতে পরিষেবাটি ডাউনটাইম ছাড়াই পুনরায় চালু করতে হবে।


1
মনে হচ্ছে এই আকাশী নীল ট্রাফিক পরিচালকের সাথে কাজ করা যেতে পারে যে: docs.microsoft.com/en-us/azure/traffic-manager/...
batistuta09

ধন্যবাদ @ ব্যাটিস্টুটা09 জানতেন না যে অ্যাজুরে এর ডিএনএস আছে। তবুও এটি কেবল ডিএনএস, সুতরাং এটি পয়েন্ট 1 সলভ করে তবে পয়েন্ট 2 নয় it এমনকি এটির ব্যর্থতা থাকলেও এটি ডিএনএস স্তরে রয়েছে। নিম্নলিখিত পরিস্থিতিতে বিবেচনা করুন, একজন ক্লায়েন্ট অনেকগুলি অনুরোধ করছে, তাই এটি যখন প্রথমবার আইপিটির জন্য ডিএনএসকে জিজ্ঞাসা করে, এটি সার্ভারের আইপি ফিরিয়ে দেয় এবং ক্যাশে হয়। তবে তারপরে এই সার্ভারগুলি ডাউন হয়ে যায় এবং যা ঘটছে তা হ'ল ক্লায়েন্টটি মৃত সার্ভারকে ডিএনএস থেকে এন্ট্রি রিফ্রেশ না করা পর্যন্ত অনুরোধ করছে। উইন্ডোটির সময়টি অনেকগুলি বিভিন্ন বিষয় হতে পারে।
আরেক_24

উত্তর:


2

আমার উত্তরটি আপডেট করার জন্য - এগুলি সবই alচ্ছিক। গতিশীল প্রতিক্রিয়াগুলির অনুমতি দেওয়ার জন্য ক্যাচিং বন্ধ করা যেতে পারে। এবং ট্র্যাফিক কেবল যদি ইচ্ছা হয় তবে HTTP- র মাধ্যমে পরিবেশন করা যায়।

একটি সমাধান যা আমি অবশ্যই পছন্দ করি তা হ'ল ক্লাউডফ্লেয়ার। আপনি এইচটিটিপি / এইচটিটিপিএস ব্যবহার করছেন এবং আপনার মূল প্রশ্নে উল্লিখিত অন্য কোনও প্রোটোকল ধরে নিচ্ছে তা ধরে নিলে এটি আপনার সমস্ত সমস্যার উত্তর দেয়।

ভূ-অবস্থান ভিত্তিক সামগ্রীর পরিবেশনাকে সম্বোধন করা -

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

ব্যর্থতা দিকটি সম্বোধন -

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

সার্ভারগুলির আপডেট করার উদ্দেশ্যে সম্বোধন করা -

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

এইচটিটিপি -> এইচটিটিপিএস - র পুনর্লিখনগুলিকে সম্বোধন করা -

সিএফ ট্রাফিকের ক্ষেত্রেও বিধি প্রয়োগের অনুমতি দেয়। এর মধ্যে একটির মাধ্যমে আপনি 301 টি HTTP প্রতিক্রিয়াটি HTTPS- এ সমস্ত HTTP ট্র্যাফিকের সাথে পুনরায় লিখতে পারেন (যদিও আপনি চান তা কনফিগার করতে পারেন)।


(এটি আপনার সম্পর্কিত সমস্ত ডিএনএস রেকর্ডগুলি সিএফ এর ডিএনএসের মধ্য দিয়ে যায় এবং 'কমলা মেঘযুক্ত' বলে মনে করে)।

আপনাকে সঠিক দিক নির্দেশ করতে কিছু সহায়ক সংস্থান - ক্লাউডফ্লেয়ার ট্র্যাফিক ম্যানেজার


উত্তরের জন্য ধন্যবাদ. আপনি নিখোঁজ অংশটির আমার পোস্টটি আপডেট করেছি (যেমন আপনি ইতিমধ্যে দেখেছেন)। আমি সিএফ এবং আপনার সরবরাহিত নিবন্ধটি পরীক্ষা করব। আপনি কি জানেন যে এই সমস্ত বৈশিষ্ট্যগুলি পেতে আমাকে কোন পরিকল্পনাটি বেছে নিতে হবে?
আরেক_24

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

ঠিক আছে, ধন্যবাদ আমি চারপাশে তাকিয়েছিলাম এবং এটি দেখতে নিখুঁত সমাধানের মতো দেখায় তবে সবচেয়ে আকর্ষণীয় অংশটি প্রাথমিক অ্যাক্সেসের পিছনে রয়েছে;) আমি সিএফকে লিখব এবং এই মুহুর্তে কী সম্ভব তা দেখব।
আরেক_24

@ হ্যারিট্রেইনর - দুর্দান্ত উত্তর - আপনি কীভাবে আপনার "সার্ভারগুলির আপডেটিংয়ের উদ্দেশ্যে সম্বোধন করা" সিঙ্ক্রোনাইজ করেন সে সম্পর্কে আপনার কী অন্তর্দৃষ্টি রয়েছে - বিশেষত, একই প্রতিলিপিযুক্ত সামগ্রীতে (মাইএসকিউএল ইনক্লুডিং) - পবিত্র গ্রিলকে একাধিক উদাহরণ ব্যবহার করে এইচএ কীভাবে অর্জন করা যায় তা সেরা: )
সল

@ সোল যখন আপনি ক্লাস্টার্ড পরিবেশগুলির দিকে তাকাতে শুরু করেন তখন স্টেটহীন পাত্রে থাকা ভাল good যার অর্থ ধারকটি ডিসপোজেবল হয়ে যায় এবং আপনি প্রতিটির সাথে কিছু উপায়ে স্টোরেজ সংযুক্ত করেন। সুতরাং আপনি যখন কোনও ডিবি আপগ্রেড করবেন তখন কোড ঘাঁটি পরিবর্তন করতে এটি বিভিন্ন পাত্রে উপরে এবং নীচে স্পিন করতে পারে, তবে কেবলমাত্র বিভিন্ন ভলিউম পুনরায় সংযুক্ত করুন যাতে ডেটা নষ্ট হয় না। ডাউনটাইমের কোনও কালো দাগ এড়াতে আপনি একটি ক্লাস্টারড ডিবি ব্যবহার করতে পারেন। মানে বোঝা নেওয়ার জন্য একাধিক নোড রয়েছে - নিজেকে একবারে ১০০% আপডেট ক্লাস্টার দেওয়ার জন্য পাত্রগুলি একবারে একবারে আপডেট করা যেতে পারে।
হ্যারি ট্রেনর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.