ترحيل إلى Azure Cache لـ Redis

توضح هذه المقالة عدداً من الأساليب لترحيل ذاكرة التخزين المؤقت لـ Redis الموجودة التي تعمل محلياً أو في خدمة سحابية أخرى إلى ذاكرة التخزين المؤقت في Azure لـ Redis.

سيناريوهات الهجرة

يمكن تشغيل Redis مفتوح المصدر في العديد من بيئات الحساب. تتضمن الأمثلة الشائعة:

  • محليا - ذاكرة التخزين المؤقت لـ Redis التي تعمل في مراكز البيانات الخاصة.
  • الأجهزة الظاهرية المستندة إلى السحابة - ذاكرة التخزين المؤقت لـ Redis التي تعمل على أجهزة Azure الظاهرية وAWS EC2 وغير ذلك.
  • خدمات الاستضافة - خدمات Redis المدارة مثل AWS ElastiCache.

إذا كان لديك مثل ذاكرة التخزين المؤقت هذه، فقد تتمكن من نقلها إلى ذاكرة التخزين المؤقت في Azure لـ Redis مع الحد الأدنى لوقت الانقطاع أو التعطل.

إذا كنت تبحث عن النقل من منطقة Azure إلى أخرى، نوصيك بالاطلاع على مقالة نقل مثيلات ذاكرة التخزين المؤقت في Azure لـ Redis إلى مناطق مختلفة.

خيارات الترحيل

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

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

أنشئ Azure Cache for Redis جديداً

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

الخطوات العامة لتنفيذ هذا الخيار هي:

  1. إنشاء مثيل ذاكرة تخزين مؤقت في Azure لـ Redis.

  2. قم بتحديث تطبيقك لاستخدام المثيل الجديد.

  3. احذف نسخة Redis القديمة.

تصدير البيانات إلى ملف RDB واستيرادها إلى ذاكرة التخزين المؤقت في Azure لـ Redis

يحدد Redis مفتوح المصدر آلية قياسية لأخذ لقطة لمجموعة بيانات ذاكرة التخزين المؤقت وحفظها في ملف. يمكن قراءة هذا الملف، المسمى RDB، بواسطة Redis المخزنة في ذاكرة تخزين مؤقت أخرى. يدعم المستوى المتميز من Azure Cache for Redis استيراد البيانات إلى مثيل ذاكرة التخزين المؤقت عبر ملفات RDB. يمكنك استخدام ملف RDB لنقل البيانات من ذاكرة تخزين مؤقت موجودة إلى Azure Cache for Redis.

هام

يمكن أن يتغير تنسيق ملف RDB بين إصدارات Redis وقد لا يحافظ على التوافق مع الإصدارات السابقة. يجب أن يكون إصدار Redis لذاكرة التخزين المؤقت التي تقوم بالتصدير منها مساوياً أو أقل من الإصدار المقدم من Azure Cache for Redis.

الخطوات العامة لتنفيذ هذا الخيار هي:

  1. إنشاء مثيل ذاكرة تخزين مؤقت جديدة في Azure لـ Redis في الطبقة المتميزة بنفس حجم (أو أكبر من) ذاكرة التخزين المؤقت الحالية.

  2. حفظ لقطة من ذاكرة التخزين المؤقت الحالية لـ Redis. يمكنك تكوين Redis لحفظ اللقطات بشكل دوري، أو تشغيل العملية يدوياً باستخدام أوامر SAVE أو BGSAVE. تتم تسمية ملف RDB افتراضياً باسم "dump.rdb" وسيكون موجوداً في المسار المحدد في ملف التكوين redis.conf.

    إشعار

    إذا كنت تقوم بترحيل البيانات داخل Azure Cache for Redis، فراجع هذه الإرشادات حول كيفية تصدير ملف RDB أو استخدم أمر PowerShell Export بدلاً من ذلك.

  3. انسخ ملف RDB إلى حساب تخزين Azure في المنطقة التي توجد بها ذاكرة التخزين المؤقت الجديدة. يمكنك استخدام AzCopy لهذه المهمة.

  4. قم باستيراد ملف RDB إلى ذاكرة التخزين المؤقت الجديدة باستخدام إرشادات الاستيراد هذه أو أمر PowerShell Import.

  5. قم بتحديث التطبيق الخاص بك لاستخدام مثيل ذاكرة التخزين المؤقت الجديد.

اكتب إلى اثنتين من ذاكرات Redis المخزنة في ذاكرة التخزين المؤقتة في وقت واحد أثناء فترة الترحيل

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

الخطوات العامة لتنفيذ هذا الخيار هي:

  1. إنشاء مثيل ذاكرة تخزين مؤقت جديدة في Azure لـ Redis في الطبقة المتميزة بنفس حجم (أو أكبر من) ذاكرة التخزين المؤقت الحالية.

  2. تعديل التعليمة البرمجية للتطبيق من أجل الكتابة إلى كل من المثيلات الجديدة والأصلية.

  3. الاستمرار في قراءة البيانات من المثيل الأصلي حتى يتم ملء المثيل الجديد بالبيانات بشكل كافٍ.

  4. قم بتحديث التعليمة البرمجية للتطبيق للقراءة والكتابة من النسخة الجديدة فقط.

  5. احذف المثيل الأصلي.

الترحيل برمجياً

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

إشعار

هذه الأداة غير مدعومة رسميًا من قِبل Microsoft.

الخطوات العامة لتنفيذ هذا الخيار هي:

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

  2. إنشاء مثيل ذاكرة تخزين مؤقت في Azure لـ Redis.

  3. مسح البيانات من ذاكرة التخزين المؤقت الجديدة للتأكد من أنها فارغة. هذه الخطوة مطلوبة لأن أداة النسخ نفسها لا تستبدل أي مفتاح موجود في ذاكرة التخزين المؤقت الهدف.

    هام

    تأكد من عدم مسح ذاكرة التخزين المؤقت المصدر.

  4. استخدم تطبيقًا مثل الأداة مفتوحة المصدر أعلاه للتنفيذ التلقائي فيما يخص نسخ البيانات من ذاكرة التخزين المؤقت المصدر إلى الهدف. تذكر أن عملية النسخ قد تستغرق بعض الوقت حتى تكتمل بناءً على حجم مجموعة البيانات الخاصة بك.

الخطوات التالية

تعرف على المزيد حول ميزات Azure Cache for Redis.