سؤال

يبدو Redis حقًا منتجًا رائعًا مع النسخ المتماثل المدمج والسرعة المذهلة. بعد اختباره ، يبدو الأمر بالتأكيد وكأنه استبدال عام 2010 لـ Memcached.

ومع ذلك ، لأنه عند استخدام Memcached عادة ، يتم استخدام التجزئة المتسقة لنشر البيانات بالتساوي عبر الخوادم في تجمع. إذا سقط أحد الخوادم الموجودة في المسبح وتوقف عن الوصول إليه ، فسيتم التعامل معها بشفافية وسيتم إعادة إنشاء المفاتيح التي فقدت فقط وتوزيعها بالتساوي عبر الخوادم المتاحة المتبقية في المجمع.

من ناحية أخرى ، قام Redis أيضًا بتشويش مدمج ، ولكن أيضًا ميزة أخرى مثيرة للاهتمام تسمى النسخ المتماثل التلقائي. بفضل ذلك ، يمكن زيادة توفر البيانات بشكل كبير أثناء استخدام خوادم الرقيق لاستخدامها في حالة ضرب القرف الذي يضرب المروحة.

ومع ذلك ، لم أجد أي حل جيد للتعامل معه تغيير حالة خادم Redis كعبد ليصبح سيدًا جديدًا تلقائيًا أو بأي طريقة أخرى تتعامل تلقائيًا من التعامل مع الفشل مع redis.

كيف يمكن انجاز هذا؟ ماذا سيكون نهجا مناسبا لهذا؟

هل كانت مفيدة؟

المحلول

ومع ذلك ، لأنه عند استخدام Memcached عادة ، يتم استخدام التجزئة المتسقة لنشر البيانات بالتساوي عبر الخوادم في تجمع. إذا سقط أحد الخوادم الموجودة في المسبح وتوقف عن الوصول إليه ، فسيتم التعامل معها بشفافية وسيتم إعادة إنشاء المفاتيح التي فقدت فقط وتوزيعها بالتساوي عبر الخوادم المتاحة المتبقية في المجمع.

هذا ليس ما تفعله Memcached ، مكتبة العميل تقوم بكل هذا السحر ؛)

ومع ذلك ، لم أجد أي حل جيدًا للتعامل مع تغيير حالة خادم Redis كعبد ليصبح سيدًا جديدًا تلقائيًا أو بأي طريقة أخرى معالجة الفشل تلقائيًا مع redis.

استخدم ال SlaveofCommand لتغيير الخصائص. سيحتاج الفشل التلقائي إلى مزيد من الترميز ، والتواصل مع الخادم ، وإذا فقدت الاتصال ولم تتمكن من تأسيسه مرة أخرى لفترة زمنية X ، فاختر عبدًا واحدًا ليكون ماجستيرًا وتغيير مجموعة العبيد في جميع الخوادم الأخرى.

تحديث (01. أغسطس 2012): هناك الآن ريديس سينتينيل, ، حل المراقبة والفشل التلقائي للإصدار 2.4.16 وأعلى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top