Redis Clustering هي طريقة موزعة وقابلة للتطوير لإدارة البيانات في Redis مخزن بيانات شائع في الذاكرة. يسمح التجميع Redis بالعقد المتعددة بالعمل معًا كنظام موحد ، مما يوفر توفرًا أعلى ، والتسامح مع الأخطاء ، وتحسين الأداء للتعامل مع مجموعات البيانات الكبيرة.
في Redis Clustering ، يتم تقسيم البيانات عبر عقد متعددة ، وتحتوي كل عقدة فقط على جزء من البيانات. يتيح هذا التقسيم إمكانية القياس الأفقي ، حيث يمكن إضافة عقد جديدة إلى الكتلة لاستيعاب متطلبات البيانات المتزايدة. بالإضافة إلى ذلك ، Redis Clustering يوفر نسخًا متماثلًا مضمّنًا ، مما يضمن تكرار البيانات وإمكانية تجاوز الفشل في حالة فشل العقدة.
الميزات الرئيسية Redis Clustering تشمل:
-
التوافر العالي: Redis Clustering يضمن أنه حتى في حالة فشل بعض العقد ، يظل النظام بأكمله جاهزًا للعمل ، وذلك بفضل النسخ المتماثل للبيانات وآليات تجاوز الفشل التلقائي.
-
القياس الأفقي: مع زيادة حجم البيانات ، يمكن إضافة عقد جديدة إلى الكتلة ، وتوزيع حمل البيانات وزيادة الأداء.
-
تقاسم البيانات: يتم تقسيم البيانات إلى أجزاء ، ويتم تخصيص كل جزء إلى عقدة معينة ، مما يتيح توزيع البيانات واسترجاعها بكفاءة.
-
إدارة الكتلة: Redis Clustering تستخدم مجموعة من Redis Sentinel و Cluster Manager لمراقبة صحة العقدة وتنفيذ مهام تجاوز الفشل.
-
الاتساق: Redis يوفر التناسق النهائي ، حيث يتم نشر التغييرات على البيانات عبر الكتلة تدريجياً.
للاستخدام Redis Clustering في NodeJS ، اتبع الخطوات التالية:
ثَبَّتَ Redis
أولاً ، تحتاج إلى التثبيت Redis على الخادم الخاص بك. يمكنك تنزيله من الموقع الرسمي أو استخدام مدير الحزم مثل apt
أو brew
.
Cấu hình Redis cho Clustering
تكوين Redis نظام المجموعات: افتح Redis ملف التكوين(redis.conf) وقم بإجراء التغييرات التالية:
# Enable clustering mode
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
اضبط cluster-enabled
لتمكين yes
وضع المجموعات. cluster-config-file
يحدد اسم الملف حيث سيتم تخزين حالة الكتلة. cluster-node-timeout
يحدد المهلة بالمللي ثانية لعقد الكتلة.
بدء Redis المثيلات
ابدأ Redis مثيلات متعددة على منافذ مختلفة ، والتي ستشكل Redis الكتلة. يجب أن يستخدم كل مثيل ملف التكوين نفسه.
Redis Cluster في NodeJS
في NodeJS تطبيقك ، استخدم Redis مكتبة العميل التي تدعم Redis التجميع ، مثل "ioredis". سيقوم العميل تلقائيًا بمعالجة حالة الكتلة وتوجيه الطلبات إلى العقد المناسبة.
مثال على الاتصال Redis Cluster بـ "ioredis" في NodeJS:
const Redis = require('ioredis');
const redis = new Redis.Cluster([
{ host: '127.0.0.1', port: 7000 },
{ host: '127.0.0.1', port: 7001 },
{ host: '127.0.0.1', port: 7002 },
// Add more Redis nodes if needed
]);
استبدل عنوان IP والمنافذ بعناوين Redis عقد المجموعة الخاصة بك.
امتحان Redis Clustering
مع إعداد الكتلة والتطبيق NodeJS المتصل بها ، يمكنك البدء في استخدام Redis الأوامر كالمعتاد. Redis سيتعامل العميل تلقائيًا مع توزيع البيانات وتجاوز الفشل بين عقد الكتلة .
باتباع هذه الخطوات ، يمكنك الاستفادة Redis Clustering في NodeJS تطبيقك ، مما يسمح له بالتوسع أفقيًا والتعامل مع كميات كبيرة من البيانات بسهولة.