استخدام Redis Clustering في NodeJS

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

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

الميزات الرئيسية Redis Clustering تشمل:

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

  2. القياس الأفقي: مع زيادة حجم البيانات ، يمكن إضافة عقد جديدة إلى الكتلة ، وتوزيع حمل البيانات وزيادة الأداء.

  3. تقاسم البيانات: يتم تقسيم البيانات إلى أجزاء ، ويتم تخصيص كل جزء إلى عقدة معينة ، مما يتيح توزيع البيانات واسترجاعها بكفاءة.

  4. إدارة الكتلة: Redis Clustering تستخدم مجموعة من Redis Sentinel و Cluster Manager لمراقبة صحة العقدة وتنفيذ مهام تجاوز الفشل.

  5. الاتساق: 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 تطبيقك ، مما يسمح له بالتوسع أفقيًا والتعامل مع كميات كبيرة من البيانات بسهولة.