রেডিস সেন্ডিনেল বনাম ক্লাস্টারিং


111

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

  • এটা কি সম্পদের অপচয়?
  • উপলব্ধ সংস্থানগুলির সম্পূর্ণ ব্যবহারের কি আরও ভাল উপায় আছে?
  • রেডিস কি রেডিস সেন্ডিনেলের বিকল্প?

আমি ইতিমধ্যে তাকিয়ে ডকুমেন্টেশন redis প্রহরী এবং ক্লাস্টারিং পারেন কারো অভিজ্ঞতা দয়া করে ব্যাখ্যা হচ্ছে।

রেডিস সেন্ডিনেল-এ মাস্টার স্লেভ কনফিগারেশন - ব্যর্থতার আগে

মাস্টার ব্যর্থ হয় এবং ক্রীতদাস পদক্ষেপে পদক্ষেপ নেয়

হালনাগাদ

ঠিক আছে. আমার বাস্তব স্থাপনার দৃশ্যে আমার কাছে দুটি সার্ভার রেডিসের জন্য উত্সর্গীকৃত রয়েছে। আমার আরেকটি সার্ভার রয়েছে আমার জবস সার্ভার চলছে। Jboss এ চলমান অ্যাপ্লিকেশনটি redis মাস্টার সার্ভারের সাথে সংযোগ স্থাপনের জন্য কনফিগার করা হয়েছে (এম)।

ব্যর্থতার দৃশ্য

আদর্শভাবে, আমি মনে করি যখন মাস্টার ক্যাশে সার্ভার ব্যর্থ হয় (হয় রেডিস প্রক্রিয়াটি হ্রাস পায় বা মেশিনের ব্যর্থতা হয়) Jboss এ অ্যাপ্লিকেশনটির স্ল্যাভ ক্যাশে সার্ভারের সাথে সংযোগ স্থাপন করা দরকার। এটি অর্জনের জন্য আমি কীভাবে রেডিস সার্ভারগুলি কনফিগার করব?

+--------+          +--------+
| Master  |---------| Slave  |
|         |         |        |
+--------+          +--------+

Configuration: quorum = 1

2
এই পারা হেল্প এবং - fnordig.de/2015/06/01/redis-sentinel-and-redis-cluster
ইটামার Haber

উত্তর:


119

প্রথমে সেনটিনেল কথা বলি।

সেন্টিনেল ব্যর্থতা পরিচালনা করে, এটি HA এর জন্য রেডিসকে কনফিগার করে না। এটি একটি গুরুত্বপূর্ণ পার্থক্য। দ্বিতীয়ত, আপনার পোস্ট করা চিত্রটি একটি খারাপ সেটআপ - আপনি রেডিস নোডগুলি যেভাবে পরিচালনা করছেন সেটি একই নোডে সেন্টিনেল চালাতে চান না run আপনি যখন সেই হোস্টটি হারাবেন তখন আপনি উভয়কেই হারাবেন।

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

দুটি ক্রীতদাস চালানোর জন্য আরেকটি কারণ পড়তে হবে বিভক্ত। আবার, আপনার যদি এটির প্রয়োজন হয় তবে এটি অপচয় হবে না।

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

এখন "রেডিস কি রেডিস সেন্ডিনেলের বিকল্প? এটি সত্যিই আপনার ব্যবহারের ক্ষেত্রে পুরোপুরি নির্ভর করে। রেডিস ক্লাস্টার কোনও এইচএ সমাধান নয় - এটি একাধিক লেখক / বৃহত্তর-র‌্যাম সমাধান। যদি আপনার লক্ষ্যটি কেবল এইচএ হয় তবে এটি সম্ভবত আপনার পক্ষে উপযুক্ত হবে না। রেডিস ক্লাস্টার সীমাবদ্ধতার সাথে আসে, বিশেষত মাল্টি-কী অপারেশনগুলির আশেপাশে, সুতরাং এটি অগত্যা কোনও সোজা "কেবল ক্লাস্টার ব্যবহার করুন" অপারেশন নয়।

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

আপনি যে প্রশ্নগুলি জিজ্ঞাসা করেছেন সেগুলি সম্ভবত লিখিতভাবে টিকে থাকার পক্ষে খুব বিস্তৃত এবং মতামত ভিত্তিক। আপনার যদি সুনির্দিষ্ট কেস / সমস্যা কাজ করে যাচ্ছেন তবে দয়া করে এটি আপডেট করুন যাতে আমরা নির্দিষ্ট সহায়তা এবং তথ্য সরবরাহ করতে পারি।

নির্দিষ্টকরণের জন্য আপডেট করুন:

আপনার পরিস্থিতিতে সঠিক ব্যর্থতা পরিচালনার জন্য আমি 3 সেন্ডিনেল নিয়ে যাব, একজন আপনার জেবস সার্ভারে চলছে running যদি আপনার কাছে 3 টি জেবাস নোড থাকে তবে প্রতিটির সাথে একটিতে যান। আমার আলাদা নোডে রেডিস পোড (মাস্টার + স্লেভ) থাকত এবং সেন্ডিনেলটি ব্যর্থতা পরিচালনা করতে দেয়।

সেখান থেকে এটি জেবস / জেডিসকে তথ্য এবং সংযোগ ব্যবস্থাপনার জন্য সেন্টিনেল ব্যবহার করার জন্য ওয়্যারিং করার বিষয়। যেহেতু আমি এগুলি ব্যবহার করি না তত দ্রুত অনুসন্ধানে দেখা যাচ্ছে যে জেডিসের পক্ষে এটির সমর্থন রয়েছে, আপনার কেবল এটি সঠিকভাবে কনফিগার করতে হবে। আমি যে কয়েকটি উদাহরণ পেয়েছি সেগুলি সেন্টিনেল এবং https://github.com/xetorthio/jedis/issues/725 এর সাথে জেডিসের উদাহরণ খুঁজছেন যা JedisSentinelPoolপুলটি ব্যবহারের জন্য রুট হওয়ার কথা বলে।

যখন সেন্টিনেল একটি ব্যর্থতা কার্যকর করে তখন ক্লায়েন্টগুলি সংযোগ বিচ্ছিন্ন হয়ে যাবে এবং জেডিস (উচিত?) বর্তমান গুরু কে সেই সেন্টিনেলদের জিজ্ঞাসা করে পুনরায় সংযোগ পরিচালনা করবেন।


6
হাই @ দ্য রিয়েল-বিল, আপনি কী দয়া করে এই বিষয়ে বিস্তারিত বলতে পারেন "সেন্টিনেল ব্যর্থতা পরিচালনা করে, এটি HA এর জন্য রেডিসকে কনফিগার করে না।" অফিসিয়াল ডকুমেন্টে ( redis.io/topics/mittedinel ), এটি বলে যে "রেডিস সেন্টিনেল রেডিসের জন্য উচ্চ প্রাপ্যতা সরবরাহ করে।"
জিয়াও পেং - ZenUML.com

1
এইচএ রেডিসের এইচএ হওয়ার জন্য বেশ কয়েকটি টুকরো দরকার। সেন্টিনেল কেবল একটি টুকরা পরিচালনা করে: ব্যর্থতা over এটি প্রতিলিপি সেট আপ করে না এবং এটি সরবরাহ করে না এবং এইচএ শেষ পয়েন্ট দেয়। এটি পরিষেবা আবিষ্কার সরবরাহ করে যাতে কোনও ক্লায়েন্ট জানতে পারে যে মাস্টারের কাছে যাওয়ার জন্য কোথায় কথা বলতে হবে। এটি এটি HA এর জন্য রেডিস কনফিগার করে না।
রিয়েল বিল

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

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

35

সুপারিশটি, সর্বত্র, দুটি বা একাধিকের ব্যবহার না করে একটি বিজোড় সংখ্যার উদাহরণ দিয়ে শুরু করা। এটি সংশোধন করা হয়েছিল, তবে কিছু অন্যান্য পয়েন্টগুলি সংশোধন করতে দিন।

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

দ্বিতীয়ত, একই মেশিনে তার টার্গেট রেডিস উদাহরণ হিসাবে কোনও সেন্ডিনেল চালানো কোনও "খারাপ সেটআপ" নয়: আপনি যদি নিজের প্রেরণকেন্দ্র বা আপনার রেডিস উদাহরণটি বা পুরো মেশিনটি হারিয়ে ফেলেন তবে ফলাফলগুলি একই are এই কারণেই এই জাতীয় কনফিগারেশনের প্রতিটি উদাহরণ উভয়ই একই মেশিনে চলছে running


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

3
এটি কোন বাগটি, কোনও বাগ রিপোর্ট রয়েছে? এটি এখনও বিদ্যমান কিনা জানেন?
সিভান

অ্যাপ্লিকেশন মেশিনগুলিতে সেন্ডিনেলগুলি রেখে দেওয়ার মতো কোনও সমস্যা আছে?
অরেঞ্জডগ

31

এটি আপনার প্রশ্নের সরাসরি উত্তর নয়, তবে ভাবেন, এটি আমার মতো রেডিস নববিদের জন্য সহায়ক তথ্য। এছাড়াও "রেডিস ক্লাস্টার বনাম সেন্ডিনেল" অনুসন্ধান করার সময় এই প্রশ্নটি গুগলের প্রথম লিঙ্ক হিসাবে উপস্থিত হয়।

রেডিস সেন্টিনেল হ'ল রেডিস উচ্চ প্রাপ্যতা সমাধানের নাম ... এটি রেডিস ক্লাস্টারের সাথে কোন সম্পর্কযুক্ত নয় এবং এটি লোকেদের দ্বারা ব্যবহার করা যেতে পারে যা রেডিস ক্লাস্টারের প্রয়োজন নেই, তবে কেবলমাত্র যখন কোনও মাস্টার স্বয়ংক্রিয়ভাবে ব্যর্থ হয় তখন একটি উপায় উদাহরণস্বরূপ সঠিকভাবে কাজ করছে না।

রেডিস সেন্টিনেল ডিজাইনের খসড়া 1.3 থেকে নেওয়া

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


10

ডকুমেন্টেশন জুড়ে মাথা ঠেকানোর পরে এটি আমার বোঝা।

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

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


6

রেডিস পার্টিশনযুক্ত ক্লাস্টারে (অনেকগুলি মাস্টার এবং সেই মাস্টারগুলির দাসদের সাথে) বা একক উদাহরণ মোডে (রেপ্লিকা দাস সহ একক মাস্টার) কাজ করতে পারে। লিংক এখানে বলে:

সিঙ্গল ইনস্ট্যান্স মোডে রেডিস ব্যবহার করার সময়, যেখানে একটি সিঙ্গল রেডিস সার্ভার সম্পূর্ণ অবিভাজনযুক্ত ডাটাবেস পরিচালনা করে, রেডিস সেন্টিনেল এর উপলভ্যতা পরিচালনা করতে ব্যবহৃত হয়

এটি আরও বলে:

একটি রেডিস ক্লাস্টার, যেখানে একাধিক প্রাথমিক দৃষ্টান্তের মধ্যে ডেটা বিভক্ত হয়, নিজে থেকে উপলব্ধতার ব্যবস্থা করে এবং অতিরিক্ত উপাদানগুলির প্রয়োজন হয় না।

সুতরাং 2 টি উল্লিখিত পরিস্থিতিতে HA নিশ্চিত করা যায়। আশা করি এটি সন্দেহগুলি মুছে ফেলে। রেডিস ক্লাস্টার এবং সেন্ডিনেল একে অপরের বিকল্প নয়। এগুলি কেবলমাত্র পার্টিশনবিহীন বা বিভাজনবিহীন মাস্টারের বিভিন্ন ক্ষেত্রে এইচএ নিশ্চিত করতে ব্যবহৃত হয়।


4

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

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

ক্লাস্টারিং আপনাকে অনুভূমিকভাবে স্কেল করতে দেয় এবং উচ্চ লোডগুলি পরিচালনা করতে সহায়তা করতে পারে। সামনে সেট আপ এবং কনফিগার করতে এটি কিছুটা সময় নেয়।

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

নিজেও এবং ক্রাস্ট -ক্লাস্টার সরঞ্জামের সাথে ক্লাস্টারিং সেটআপ করার একটি উদাহরণ রয়েছে । আপনি যদি রেডিস ব্যবহার করছেন তবে এই একই পদক্ষেপগুলি (নির্দেশে 'কিডবি'কে' রেডিস 'দিয়ে প্রতিস্থাপন করুন)


1

উপরের উত্তরের অতিরিক্ত তথ্য

রেডিস ক্লাস্টার

  • রেডিস ক্লাস্টারের একটি প্রধান উদ্দেশ্য হ'ল শারডিংয়ের মাধ্যমে আপনার ডেটা লোডকে সমান / সমানভাবে বিতরণ করা

  • রেডিস ক্লাস্টারটি সামঞ্জস্যপূর্ণ হ্যাশিং ব্যবহার করে না, তবে শ্যাডিংয়ের একটি আলাদা রূপ যেখানে প্রতিটি কী ধারণাগতভাবে হ্যাশ স্লট নামে পরিচিত তার অংশ হিসাবে রয়েছে

  • রেডিস ক্লাস্টারে 16384 হ্যাশ স্লট রয়েছে, রেডিস ক্লাস্টারের প্রতিটি নোড হ্যাশ স্লটের একটি সাবসেটের জন্য দায়বদ্ধ, সুতরাং, উদাহরণস্বরূপ, আপনার কাছে 3 টি নোডের একটি ক্লাস্টার থাকতে পারে, যেখানে:

    নোড এতে হ্যাশ স্লট রয়েছে 0 থেকে 5500, নোড বিতে হ্যাশ স্লট রয়েছে 5501 থেকে 11000, নোড সিতে হ্যাশ স্লট রয়েছে 11001 থেকে 16383

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

  • রেডিস ক্লাস্টার মাস্টার-স্লেভ স্ট্রাকচারকে সমর্থন করে, একটি ক্লাস্টার তৈরি করার সময় আপনি মাস্টার এ, বি, সি সহ দাস A1, B1, C2 তৈরি করতে পারেন, সুতরাং যখন মাস্টার বি দাসের নীচে যায় তখন বি 1 মাস্টার হিসাবে পদোন্নতি প্রাপ্ত হয়

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

তাই ব্যবহারিক দিক থেকে, রেডিস ক্লাস্টারের সাথে আপনি কী পাবেন?

1. একাধিক নোডের মধ্যে স্বয়ংক্রিয়ভাবে আপনার ডেটাসেট বিভক্ত করার ক্ষমতা।

২. নোডগুলির একটি উপসেট যখন ব্যর্থতা অনুভব করছে বা বাকি ক্লাস্টারের সাথে যোগাযোগ করতে অক্ষম হয় তখন অপারেশন চালিয়ে যাওয়ার ক্ষমতা।

রেডিস সেন্টিনেল

  • রেডিস একাধিক ক্রীতদাসকে মাস্টার নোড থেকে তথ্য প্রতিলিপি করতে সহায়তা করে।
  • এটি মাস্টার নোডের ডেটার জন্য একটি ব্যাকআপ সরবরাহ করে।
  • রেডিস সেন্টিনেল হ'ল মাস্টার এবং স্লেভ পরিচালনার জন্য তৈরি একটি সিস্টেম। এটি পৃথক প্রোগ্রাম হিসাবে চলমান। আদর্শ সিস্টেমে সর্বনিম্ন সেন্ডিনেলের প্রয়োজন হয় ৩. তারা নিজেদের মধ্যে যোগাযোগ করে এবং নিশ্চিত করে যে মাস্টার বেঁচে আছেন, জীবিত না হলে তারা একজন দাসকে মাস্টার হিসাবে প্রচার করবেন, সুতরাং পরে যখন মৃত নোড স্পিন হবে তখন এটি হবে নতুন মাস্টারের দাস হিসাবে অভিনয় করা
  • কোরামাম কনফিগারযোগ্য। মূলত এটি সেন্ডিনেলের সংখ্যা যা মাস্টার ডাউন হওয়ার কারণে সম্মত হওয়া দরকার। N / 2 +1 এর সাথে একমত হওয়া উচিত। এন হ'ল পডের নোডের সংখ্যা (নোট করুন এই সেটআপটিকে পোড বলা হয় এবং এটি একটি ক্লাস্টার নয়)

তাহলে ব্যবহারিক দিক থেকে, রেডিস সেন্টিনেলের সাথে আপনি কী পাবেন?

এটি নিশ্চিত করবে যে মাস্টার সর্বদা উপলব্ধ থাকে (যদি মাস্টার নীচে চলে যায় তবে ক্রীতদাসকে মাস্টার হিসাবে পদোন্নতি দেওয়া হবে)

তথ্যসূত্র:

https://fnordig.de/2015/06/01/redis-sentinel-and-redis-cluster/

https://redis.io/topics/cluster-tutorial

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