بوابة Azure Cosmos DB المخصصة - نظرة عامة

ينطبق على: NoSQL

البوابة المخصصة هي حساب من جانب الخادم يمثل واجهة أمامية لحساب Azure Cosmos DB الخاص بك. عند الاتصال بالبوابة المخصصة، فإنها تقوم بتوجيه طلبات البيانات وتخزينها مؤقتاً. مثل معدل النقل المقدم، تُصدر فاتورة بالبوابة المخصصة كل ساعة.

نظرة عامة

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

تُضمَّن البوابة المخصصة في Azure Cosmos DB. عندما تقوم بتوفير بوابة مخصصة، يكون لديك عقدة مُدارة بالكامل تقوم بتوجيه الطلبات إلى أقسام الواجهة الخلفية. يوفر الاتصال بـ Azure Cosmos DB باستخدام البوابة المخصصة زمن انتقال أقل ويمكن توقعه أكثر من الاتصال بـ Azure Cosmos DB باستخدام البوابة القياسية. حتى أخطاء ذاكرة التخزين المؤقت ترى تحسينات زمن الانتقال عند مقارنة البوابة المخصصة والبوابة القياسية.

لا يوجد سوى الحد الأدنى من التغييرات في التعليمات البرمجية المطلوبة لكي يستخدم التطبيق الخاص بك بوابة مخصصة. يمكن لكل من حسابات Azure Cosmos DB الجديدة والحالية توفير بوابة مخصصة لتحسين أداء القراءة.

إشعار

هل لديك أي ملاحظات حول البوابة المخصصة؟ نريد أن نسمعه! لا تتردد في مشاركة التعليقات مباشرةً مع الفريق الهندسي لـ Azure Cosmos DB:cosmoscachefeedback@microsoft.com

أوضاع الاتصال

هناك وضعان للاتصال لـ Azure Cosmos DB، الوضع المباشر ووضع البوابة. باستخدام وضع البوابة، يمكنك الاتصال إما بالبوابة القياسية أو البوابة المخصصة اعتمادًا على نقطة النهاية التي تقوم بتكوينها.

رسم تخطيطي يوضح كيفية عمل أوضاع اتصال Azure Cosmos DB.

اتصل بـ Azure Cosmos DB باستخدام الوضع المباشر

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

اتصل بـ Azure Cosmos DB باستخدام وضع البوابة

إذا قمت بالاتصال ب Azure Cosmos DB باستخدام وضع البوابة، يتصل التطبيق الخاص بك بعقدة الواجهة الأمامية أولا، والتي تعالج توجيه الطلب إلى العقد الخلفية المناسبة. نظرا لأن وضع البوابة يتضمن قفزة شبكة إضافية، فقد تلاحظ زمن انتقال أعلى قليلا عند مقارنتها بالوضع المباشر.

عند الاتصال بـ Azure Cosmos DB باستخدام وضع البوابة، يمكنك الاتصال بأي من الخيارات التالية:

  • البوابة القياسية - في حين أن الواجهة الخلفية، التي تتضمن معدل النقل والتخزين المزودين، تحتوي على سعة مخصصة لكل حاوية، تشترك البوابة القياسية بين العديد من حسابات Azure Cosmos. من العملي للعديد من العملاء مشاركة بوابة قياسية لأن موارد الحوسبة التي يستهلكها كل عميل على حدة صغيرة.
  • بوابة مخصصة - في هذه البوابة، تحتوي الواجهة الخلفية والبوابة على سعة مخصصة. تتطلب ذاكرة التخزين المؤقت المتكاملة بوابة مخصصة لأنها تتطلب وحدة معالجة مركزية كبيرة وذاكرة خاصة بحساب Azure Cosmos DB الخاص بك.

يجب عليك الاتصال بـ Azure Cosmos DB باستخدام البوابة المخصصة لاستخدام ذاكرة التخزين المؤقت المدمجة. تحتوي البوابة المخصصة على نقطة نهاية مختلفة عن تلك القياسية المتوفرة مع حساب Azure Cosmos DB الخاص بك، ولكن يتم توجيه الطلبات بنفس الطريقة. عند الاتصال بنقطة نهاية البوابة المخصصة، يرسل تطبيقك طلباً إلى البوابة المخصصة، التي تقوم بعد ذلك بتوجيه الطلب إلى العقد الخلفية المختلفة. إذا كان ذلك ممكنا، فإن ذاكرة التخزين المؤقت المتكاملة تخدم النتيجة.

رسم تخطيطي لاتصال وضع البوابة ببوابة مخصصة:

رسم تخطيطي يوضح كيفية عمل البوابة المخصصة ل Azure Cosmos DB.

توفير البوابة المخصصة

يمكن توفير مجموعة بوابة مخصصة في واجهة برمجة التطبيقات لحسابات NoSQL. يمكن أن يحتوي نظام مجموعة البوابة المخصصة على ما يصل إلى خمس عقد بشكل افتراضي ويمكنك إضافة العقد أو إزالتها في أي وقت. تشترك جميع عقد البوابة المخصصة داخل حسابك في نفس نقطة نهاية البوابة المخصصة.

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

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

البوابة المخصصة متوفرة بالأحجام التالية. تستخدم ذاكرة التخزين المؤقت المتكاملة حوالي 50٪ من الذاكرة والباقي محجوز لبيانات التعريف وطلبات التوجيه إلى أقسام الواجهة الخلفية.

اسم Sku وحدة المعالجة المركزية الظاهرية الذاكرة
D4s 4 16 غيغابايت
D8s 8 32 غيغابايت
D16s 16 64 غيغابايت

تلميح

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

ثمة العديد من الطرق المختلفة لتوفير بوابة مخصصة:

إشعار

يمكنك توفير بوابة مخصصة في حسابات Azure Cosmos DB مع مناطق التوفر حسب الطلب. تواصل مع cosmoscachefeedback@microsoft.com للحصول على مزيدٍ من المعلومات.

بوابة مخصصة في حسابات متعددة المناطق

عند توفير مجموعة عبّارة مخصصة في حسابات متعددة المناطق، تُوفَّر مجموعات بوابة مخصصة متطابقة في كل منطقة. على سبيل المثال، ضع في اعتبارك حسابAzure Cosmos DB في شرق الولايات المتحدة وشمال أوروبا. إذا قمت بتوفير مجموعة بوابة مخصصة مع عقدتين D8 في هذا الحساب، فسيكون لديك أربع عقد D8 إجمالاً - اثنتان في شرق الولايات المتحدة واثنتان في شمال أوروبا. لا تحتاج إلى تكوين بوابات مخصصة بشكل صريح في كل منطقة وتظل نقطة نهاية البوابة المخصصة كما هي. لا توجد أيضاً تغييرات على أفضل الممارسات لأداء تجاوز الفشل.

تكون عُقد البوابة المخصصة عبر المناطق مستقلة، مثل العقد داخل نظام المجموعة. من الممكن أن تكون البيانات المخزنة مؤقتا في كل منطقة مختلفة، اعتمادا على القراءات أو عمليات الكتابة الأخيرة إلى تلك المنطقة.

القيود

يتم دعم البوابات المخصصة فقط على واجهة برمجة التطبيقات لحسابات NoSQL.

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

اقرأ المزيد عن استخدام البوابة المخصصة في المقالات التالية: