تكوين تجميع Redis لمثيل Premium Azure Cache for Redis
يوفر Azure Cache for Redis مجموعة Redis كما هو مطبق في Redis. مع Redis Cluster، تحصل على المزايا التالية:
- القدرة على تقسيم مجموعة البيانات تلقائيا بين عقد متعددة.
- القدرة على متابعة العمليات عندما تواجه مجموعة فرعية من العقد حالات فشل أو غير قادرة على الاتصال ببقية نظام المجموعة.
- معدل نقل أكبر: يزيد معدل النقل خطيا كلما قمت بزيادة عدد الأجزاء.
- حجم ذاكرة أكبر: يزيد خطيا كلما قمت بزيادة عدد الأجزاء.
لا يزيد نظام المجموعة من عدد الاتصالات المتوفرة لذاكرة التخزين المؤقت المجمعة. لمزيد من المعلومات حول الحجم ومعدل النقل والنطاق الترددي باستخدام ذاكرة التخزين المؤقت المتميزة، راجع اختيار المستوى الصحيح
في Azure، يتم تقديم مجموعة Redis كنموذج أساسي/نسخة متماثلة حيث يحتوي كل جزء على زوج أساسي/نسخ متماثل مع النسخ المتماثل، حيث تتم إدارة النسخ المتماثل بواسطة Azure Cache لخدمة Redis.
إعداد نظام المجموعة
يتم تمكين تكوين أنظمة المجموعات ذاكرة التخزين المؤقت Azure الجديدة ل Redis على اليسار أثناء إنشاء ذاكرة التخزين المؤقت.
لإنشاء ذاكرة تخزين مؤقت متميزة، سجل الدخول إلى مدخل Microsoft Azure وحدد Create a resource. بالإضافة إلى إنشاء ذاكرة التخزين المؤقت في مدخل Microsoft Azure، يمكنك أيضا إنشاؤها باستخدام قوالب Resource Manager أو PowerShell أو Azure CLI. لمزيد من المعلومات حول إنشاء ذاكرة التخزين المؤقت Azure ل Redis، راجع إنشاء ذاكرة تخزين مؤقت.
من صفحة جديد، حدد قواعد البيانات ومن ثم حدد Azure Cache for Redis.
في صفحة New Redis Cache ، قم بتكوين الإعدادات لذاكرة التخزين المؤقت المتميزة الجديدة.
الإعداد القيمة المقترحة الوصف اسم نظام أسماء المجالات (DNS) أدخل اسمًا فريدًا عالميًا. يجب أن يكون اسم ذاكرة التخزين المؤقت سلسلة بين 1 و63 حرفا. يمكن أن تحتوي السلسلة على أرقام أو أحرف أو واصلات فقط. يجب أن يبدأ الاسم وينتهي برقم أو حرف، ولا يمكن أن يحتوي على واصلات متتالية. سيكون اسم مضيف مثيل ذاكرة التخزين المؤقت اسم <DNS.redis.cache.windows.net>. الاشتراك القائمة المنسدلة وحدد اشتراكك. الاشتراك الذي يتم بموجبه إنشاء مثيل Azure Cache الجديد لـ Redis. مجموعة الموارد القائمة المنسدلة وحدد مجموعة موارد، أو حدد إنشاء جديد وأدخل اسم مجموعة موارد جديدة. اسم مجموعة الموارد المراد إنشاء ذاكرة التخزين المؤقت والموارد الأخرى فيها. وعبر وضع جميع موارد التطبيق في مجموعة موارد واحدة، يمكنك إدارتها أو حذفها بسهولة. الموقع القائمة المنسدلة وحدد موقعا. حدد منطقة بالقرب من الخدمات الأخرى التي ستستخدم ذاكرة التخزين المؤقت. نوع ذاكرة التخزين المؤقت القائمة المنسدلة وحدد ذاكرة تخزين مؤقت متميزة لتكوين الميزات المتميزة. للحصول على التفاصيل، راجع Azure Cache لتسعير Redis. يحدد التسعير مختلف الفئات الحجم والأداء والميزات المتوفرة في ذاكرة التخزين المؤقت. لمزيد من المعلومات، راجع Azure Cache من أجل Redis Overview. حدد علامة التبويب Networking أو انقر فوق زر Networking في أسفل الصفحة.
في علامة التبويب شبكة الاتصال، حدد أسلوب الاتصال. بالنسبة لمثيلات ذاكرة التخزين المؤقت المتميزة، يمكنك الاتصال إما بشكل عام، عبر عناوين IP العامة أو نقاط نهاية الخدمة، أو بشكل خاص، باستخدام نقطة نهاية خاصة.
حدد علامة التبويب Next: Advanced أو حد الزر Next: Advanced في أسفل الصفحة.
في علامة التبويب Advanced لمثيل ذاكرة التخزين المؤقت المتميزة، قم بتكوين الإعدادات لمنفذ غير TLS والتكوين المجمع واستمرار البيانات. لتمكين تكوين أنظمة المجموعات، حدد تمكين.
يمكن أن يكون لديك ما يصل إلى 10 قطع في نظام المجموعة. بعد تحديد تمكين، مرر شريط التمرير أو اكتب رقما بين 1 و10 لعدد الأجزاء وحدد موافق.
كل جزء هو زوج ذاكرة التخزين المؤقت الأساسي/النسخة المتماثلة التي تديرها Azure، ويتم حساب الحجم الإجمالي لذاكرة التخزين المؤقت عن طريق ضرب عدد الأجزاء في حجم ذاكرة التخزين المؤقت المحدد في مستوى التسعير.
بمجرد إنشاء ذاكرة التخزين المؤقت، يمكنك الاتصال بها واستخدامها تماما مثل ذاكرة التخزين المؤقت غير المجمعة. يوزع Redis البيانات في جميع أجزاء ذاكرة التخزين المؤقت. إذا تم تمكين التشخيصات، يتم التقاط المقاييس بشكل منفصل لكل جزء ويمكن عرضها في ذاكرة التخزين المؤقت Azure ل Redis على اليسار.
حدد علامة Next: Tags أو حدد الزر Next: Tags في أسفل الصفحة.
اختياريا، من علامة التبويب أدخل الاسم والقيمة إذا كنت ترغب في تصنيف المورد.
حدد Review + create. يتم نقلك إلى علامة التبويب مراجعة + إنشاء حيث يقوم Azure بالتحقق من صحة التكوين الخاص بك.
بعد ظهور رسالة "التحقق من الصحة" الخضراء، حدد إنشاء.
قد يستغرق ذلك بعض الوقت لإنشاء ذاكرة التخزين المؤقت. يمكنك مراقبة التقدم المحرز فيAzure Cache لـصفحة Redis الخاصة بالنظرة العامة. عندما تظهر الحالة على تشغيل، تكون ذاكرة التخزين المؤقت جاهزة للاستخدام.
ملاحظة
هناك بعض الاختلافات الطفيفة المطلوبة في تطبيق العميل الخاص بك عند تكوين نظام المجموعة. لمزيد من المعلومات، راجع هل أحتاج إلى إجراء أي تغييرات على تطبيق العميل الخاص بي لاستخدام نظام المجموعة؟
للحصول على نموذج التعليمات البرمجية حول العمل مع نظام المجموعة مع عميل StackExchange.Redis، راجع جزء clustering.cs من نموذج مرحبًا بالعالم.
تغيير حجم نظام المجموعة على ذاكرة التخزين المؤقت المتميزة قيد التشغيل
لتغيير حجم نظام المجموعة على ذاكرة التخزين المؤقت المتميزة قيد التشغيل مع تمكين نظام المجموعة، حدد حجم نظام المجموعة من قائمة الموارد.
لتغيير حجم نظام المجموعة، استخدم شريط التمرير أو اكتب رقما بين 1 و10 في مربع النص عدد الأجزاء . ثم حدد موافق للحفظ.
تؤدي زيادة حجم نظام المجموعة إلى زيادة الحد الأقصى لمعدل النقل وحجم ذاكرة التخزين المؤقت. لا تؤدي زيادة حجم نظام المجموعة إلى زيادة الحد الأقصى. الاتصالات المتوفرة للعملاء.
ملاحظة
يؤدي تحجيم نظام مجموعة إلى تشغيل الأمر MIGRATE ، وهو أمر مكلف، لذلك للحد الأدنى من التأثير، ضع في اعتبارك تشغيل هذه العملية خلال ساعات غير الذروة. أثناء عملية الترحيل، سترى ارتفاعا في تحميل الخادم. يعد تحجيم نظام المجموعة عملية طويلة الأمد ويعتمد مقدار الوقت المستغرق على عدد المفاتيح وحجم القيم المقترنة بهذه المفاتيح.
الأسئلة المتداولة حول تكوين أنظمة المجموعات
تحتوي القائمة التالية على إجابات للأسئلة الشائعة حول Azure Cache for Redis clustering.
- هل أحتاج إلى إجراء أي تغييرات على تطبيق العميل الخاص بي لاستخدام نظام المجموعة؟
- كيف يتم توزيع المفاتيح في نظام مجموعة؟
- ما هو أكبر حجم ذاكرة تخزين مؤقت يمكنني إنشاؤه؟
- هل يدعم جميع عملاء Redis التجميع؟
- كيف أعمل الاتصال بذاكرة التخزين المؤقت عند تمكين التجميع؟
- هل يمكنني الاتصال مباشرة بالأجزاء الفردية من ذاكرة التخزين المؤقت الخاصة بي؟
- هل يمكنني تكوين نظام المجموعة لذاكرة تخزين مؤقت تم إنشاؤها مسبقا؟
- هل يمكنني تكوين نظام المجموعة لذاكرة تخزين مؤقت أساسية أو قياسية؟
- هل يمكنني استخدام نظام المجموعة مع موفري التخزين المؤقت ل Redis ASP.NET حالة جلسة العمل والإخراج؟
- أحصل على استثناءات MOVE عند استخدام StackExchange.Redis والتكوين، ماذا يجب أن أفعل؟
هل أحتاج إلى إجراء أي تغييرات على تطبيق العميل الخاص بي لاستخدام نظام المجموعة؟
عند تمكين التجميع، تتوفر قاعدة البيانات 0 فقط. إذا كان تطبيق العميل الخاص بك يستخدم قواعد بيانات متعددة ويحاول القراءة أو الكتابة إلى قاعدة بيانات أخرى غير 0، يتم طرح الاستثناء التالي:
Unhandled Exception: StackExchange.Redis.RedisConnectionException: ProtocolFailure on GET --->StackExchange.Redis.RedisCommandException: Multiple databases are not supported on this server; cannot switch to database: 6لمزيد من المعلومات، راجع مواصفات نظام مجموعة Redis - المجموعة الفرعية المنفذة.
إذا كنت تستخدم StackExchange.Redis، فيجب عليك استخدام 1.0.481 أو أحدث. يمكنك الاتصال بذاكرة التخزين المؤقت باستخدام نفس نقاط النهاية والمنافذ والمفاتيح التي تستخدمها عند الاتصال بذاكرة تخزين مؤقت حيث يتم تعطيل التجميع. الفرق الوحيد هو أنه يجب إجراء جميع عمليات القراءة والكتابة إلى قاعدة البيانات 0.
قد يكون للعملاء الآخرين متطلبات مختلفة. راجع هل يدعم جميع عملاء Redis التجميع؟
إذا كان التطبيق الخاص بك يستخدم عمليات مفاتيح متعددة مجمعة في أمر واحد، يجب أن تكون جميع المفاتيح موجودة في نفس الجزء. لتحديد موقع المفاتيح في نفس الجزء، راجع كيف يتم توزيع المفاتيح في نظام مجموعة؟
إذا كنت تستخدم Redis ASP.NET موفر حالة جلسة العمل، فيجب عليك استخدام 2.0.1 أو أعلى. راجع هل يمكنني استخدام نظام المجموعة مع موفري التخزين المؤقت ل Redis ASP.NET حالة الجلسة والإخراج؟
كيف يتم توزيع المفاتيح في نظام مجموعة؟
وفقا لوثائق نموذج توزيع مفاتيح Redis: يتم تقسيم مساحة المفتاح إلى 16384 فتحات. يتم تجزئة كل مفتاح وتعيينه إلى إحدى هذه الفتحات، والتي يتم توزيعها عبر عقد نظام المجموعة. يمكنك تكوين أي جزء من المفتاح مجزأ للتأكد من وجود مفاتيح متعددة في نفس الجزء باستخدام علامات التجزئة.
- المفاتيح ذات علامة التجزئة - إذا كان أي جزء من المفتاح محاطا
{و}، يتم تجزئة هذا الجزء فقط من المفتاح لأغراض تحديد فتحة التجزئة للمفتاح. على سبيل المثال، ستكون المفاتيح الثلاثة التالية موجودة في نفس الجزء:{key}1، ، وبما{key}3أنه يتم تجزئة جزء الاسم فقطkey{key}2. للحصول على قائمة كاملة بمواصفات علامات تجزئة المفاتيح، راجع علامات تجزئة المفاتيح. - مفاتيح بدون علامة تجزئة - يتم استخدام اسم المفتاح بأكمله للتجزئة، ما يؤدي إلى توزيع حتى إحصائيا عبر أجزاء ذاكرة التخزين المؤقت.
للحصول على أفضل أداء ومعدل نقل، نوصي بتوزيع المفاتيح بالتساوي. إذا كنت تستخدم مفاتيح مع علامة تجزئة، فمن مسؤولية التطبيق التأكد من توزيع المفاتيح بالتساوي.
لمزيد من المعلومات، راجع نموذج توزيع المفاتيحوتقسيم بيانات نظام مجموعة Redisوعلامات تجزئة المفاتيح.
للحصول على نموذج التعليمات البرمجية حول العمل مع مفاتيح التجميع وتحديد المواقع في نفس الجزء باستخدام عميل StackExchange.Redis، راجع جزء clustering.cs من نموذج مرحبًا بالعالم.
ما هو أكبر حجم ذاكرة تخزين مؤقت يمكنني إنشاؤه؟
أكبر حجم ذاكرة تخزين مؤقت يمكنك الحصول عليه هو 1.2 تيرابايت. ستكون هذه ذاكرة التخزين المؤقت P5 متفاوت المسافات مع 10 قطع. لمزيد من المعلومات، راجع تسعير Azure Cache لـ Redis.
هل يدعم جميع عملاء Redis التجميع؟
يدعم العديد من العملاء تجميع Redis ولكن ليس كلهم. تحقق من وثائق المكتبة التي تستخدمها للتحقق من أنك تستخدم مكتبة وإصدارا يدعمان التجميع. StackExchange.Redis هي مكتبة واحدة تدعم التجميع، في إصداراتها الأحدث. لمزيد من المعلومات حول العملاء الآخرين، راجع قسم تشغيل مع نظام المجموعة من البرنامج التعليمي لنظام مجموعة Redis.
يتطلب بروتوكول تجميع Redis من كل عميل الاتصال بكل جزء مباشرة في وضع التجميع، ويحدد أيضا استجابات الخطأ الجديدة مثل 'MOVED' na 'CROSSSLOTS'. عند محاولة استخدام عميل، والذي لا يدعم التجميع، مع ذاكرة التخزين المؤقت لوضع نظام المجموعة، يمكن أن تكون النتيجة العديد من استثناءات إعادة التوجيه المنقولة، أو مجرد قطع التطبيق الخاص بك، إذا كنت تقوم بطلبات متعددة المفاتيح عبر الفتحات.
ملاحظة
إذا كنت تستخدم StackExchange.Redis كعملائك، فتأكد من أنك تستخدم أحدث إصدار من StackExchange.Redis 1.0.481 أو أحدث لتكوين أنظمة المجموعات للعمل بشكل صحيح. لمزيد من المعلومات حول أي مشكلات تتعلق باستثناءات النقل، راجع نقل الاستثناءات.
كيف أعمل الاتصال بذاكرة التخزين المؤقت عند تمكين التجميع؟
يمكنك الاتصال بذاكرة التخزين المؤقت باستخدام نفس نقاط النهايةوالمنافذوالمفاتيح التي تستخدمها عند الاتصال بذاكرة تخزين مؤقت لم يتم تمكين التجميع فيها. يدير Redis نظام المجموعة على الواجهة الخلفية حتى لا تضطر إلى إدارتها من العميل الخاص بك.
هل يمكنني الاتصال مباشرة بالأجزاء الفردية من ذاكرة التخزين المؤقت الخاصة بي؟
يتطلب بروتوكول التجميع من العميل إجراء اتصالات القطع الصحيحة، لذلك يجب على العميل إجراء اتصالات المشاركة نيابة عنك. مع ذلك، يتكون كل جزء من زوج ذاكرة التخزين المؤقت الأساسية/النسخة المتماثلة، والمعروفة بشكل جماعي باسم مثيل ذاكرة التخزين المؤقت. يمكنك الاتصال بمثيلات ذاكرة التخزين المؤقت هذه باستخدام الأداة المساعدة redis-cli في الفرع غير المستقر لمستودع Redis في GitHub. ينفذ هذا الإصدار الدعم الأساسي عند بدء تشغيل -c مفتاح التبديل. لمزيد من المعلومات، راجع تشغيل نظام المجموعةhttps://redis.io في البرنامج التعليمي لنظام مجموعة Redis.
بالنسبة إلى غير TLS، استخدم الأوامر التالية.
Redis-cli.exe –h <<cachename>> -p 13000 (to connect to instance 0)
Redis-cli.exe –h <<cachename>> -p 13001 (to connect to instance 1)
Redis-cli.exe –h <<cachename>> -p 13002 (to connect to instance 2)
...
Redis-cli.exe –h <<cachename>> -p 1300N (to connect to instance N)
بالنسبة إلى TLS، استبدل 1300N ب 1500N.
هل يمكنني تكوين نظام المجموعة لذاكرة تخزين مؤقت تم إنشاؤها مسبقا؟
نعم. أولا، تأكد من أن ذاكرة التخزين المؤقت الخاصة بك متميزة عن طريق توسيع نطاقها. بعد ذلك، يمكنك مشاهدة خيارات تكوين نظام المجموعة، بما في ذلك خيار لتمكين نظام المجموعة. قم بتغيير حجم نظام المجموعة بعد إنشاء ذاكرة التخزين المؤقت، أو بعد تمكين التجميع للمرة الأولى.
هام
لا يمكنك التراجع عن تمكين تكوين أنظمة المجموعات. وذاكرة التخزين المؤقت مع تمكين نظام المجموعة وجزء واحد فقط يتصرف بشكل مختلف عن ذاكرة التخزين المؤقت من نفس الحجم مع عدم وجود تجميع.
هل يمكنني تكوين نظام المجموعة لذاكرة تخزين مؤقت أساسية أو قياسية؟
يتوفر التجميع فقط لذاكرة التخزين المؤقت المتميزة.
هل يمكنني استخدام نظام المجموعة مع موفري التخزين المؤقت ل Redis ASP.NET حالة الجلسة والإخراج؟
- موفر Redis Output Cache - لا توجد تغييرات مطلوبة.
- موفر حالة جلسة عمل Redis - لاستخدام نظام المجموعة، يجب عليك استخدام RedisSessionStateProvider 2.0.1 أو أعلى أو طرح استثناء، وهو تغيير فاصل. لمزيد من المعلومات، راجع v2.0.0 Breaking Change Details.
أتلقى استثناءات MOVE عند استخدام StackExchange.Redis والتكوين، ماذا يجب أن أفعل؟
إذا كنت تستخدم StackExchange.Redis وتلقيت MOVE استثناءات عند استخدام نظام المجموعة، فتأكد من أنك تستخدم StackExchange.Redis 1.1.603 أو أحدث. للحصول على إرشادات حول تكوين تطبيقات .NET لاستخدام StackExchange.Redis، راجع تكوين عملاء ذاكرة التخزين المؤقت.
الخطوات التالية
تعرف على المزيد حول ميزات Azure Cache for Redis.