الاختيار بين .NET خدمة حافلة الخدمة VS خدمة انتظار أزور [مغلق

StackOverflow https://stackoverflow.com/questions/1906244

سؤال

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

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

لديه أي شخص لديه أي خبرة في استخدام أي من هاتين التكنولوجيات ويمكن أن يقدم أي نصيحة بشأن اختيار واحد على الآخر.

أظن أنه في حين أن حافلة الخدمة تبدو أكثر قوة، نظرا لأن حالة استخدامي هي حقا تمكين أدوار الويب / العامل للتواصل بين بعضها البعض، فإن خدمة انتظار Azure هي ما أفعله. لكنني فقط أبحث عن تأكيد ذلك قبل أن أصدق نفسي في الزاوية :-)

شكرا مقدما.

تحديث

قرأت عن النظامين على كسر. يبدو أن حافلة خدمة .NET مصممة خصيصا لدمج الأنظمة بدلا من توفير نظام مراسلة موثوق به للأغراض العامة. يتم توزيع قوائم انتظار Azure وموثوقة جدا وقابلة للتحجيم بطريقة ما هي قوائم انتظار .NSB ليست وأكثر ملاءمة للحصول على التعليمات البرمجية المستضافة داخل Azure نفسها.

شكرا على الردود.

هل كانت مفيدة؟

المحلول

أود أن أوصي بأن تلتصق بمخططات أزور للتواصل بين أدوار الويب والعامل. استخدام قوائم الانتظار هو الطريقة الرسمية والعاقبة للتواصل بين العمليات الأزورية وأشك بشدة بإخلاص أنك ستقوم ببرمجة نفسك في زاوية. حافلة الخدمة (Appfabric) لديها علبة أعلى وعلى الرغم من أن جيدة حقا للتحدث إلى التطبيقات الخارجية، قد لا تكون الأمثل للرسائل السريعة والبسيطة داخل تطبيق Azure الخاص بك.

نصائح أخرى

قوائم انتظار التخزين VS حافلة الخدمة

فيما يلي انهيار لبعض الاعتبارات المختلفة التي كان لدي في التفكير من خلال هذا السؤال.

التوفر

نظرا لأن انقطاع التيار الكهربائي في نوفمبر الماضي، فقد وعدت أزور بأنها لن تنشر أبدا رمز لجميع المناطق مرة أخرى - بنيتها في النظام لجعلها مستحيلة. https://azure.microsoft.com/en-us/blog/final-root-cause-analysis-mprovement-improvement-areas-nov-18-Zure-Storage-Service-intragion/

إليك ما يقوله MSDN حول توافر:

إذا كنت تستخدم بالفعل Blood Azure Storage Plobs أو الجداول وتبدأ في استخدام قوائم الانتظار، فأنت مضمون بتوفر 99.9٪. إذا كنت تستخدم النقط أو الجداول مع قوائم انتظار حافلات الخدمة، فستكون لديك توفر أقل.

تم تصميم قوائم انتظار Azure لدعم فصل مكونات التطبيق لزيادة قابلية التوسع والتسامح مع الفشل.

التطور

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

يكلف

يوفر الوضع والحذف الذي يدعمه حافلة الخدمة القدرة على تقليل عدد عمليات تشغيل المراسلة (والتكلفة المرتبطة) في مقابل ضمان التسليم المنخفض.

يبدو أن هناك بعض الأدوات حول التحكم في التكاليف للحصول على حافلة الخدمة التي يمكنك الاستفادة منها إذا كان عليك البدء في الحفاظ على ميزانية لتشغيل تطبيقك - لقد قمت بإجراء محاولة لتقطئة تكاليف قائمة انتظار التخزين المحتملة أدناه :). يخرج إلى أقل من مائة دولارات شهريا في أكثر من 40،000 قائمة الانتظار لمدة ساعة ل GRS. يتم تجمعه في بقية تكاليف التخزين الخاصة بنا، ولا أرى فائدة التركيز على تكاليف القطع هنا. (عرض النطاق الترددي هو نفسه بالنسبة لكل من وإلغاء نفسه عند المقارنة)

تسعير التخزين

تحصل على قوائم انتظار مجانية غير محدودة وعمليات مجانية - أنت تدفع مقابل المساحة

  • افترض حجم الرسالة 30K كمتوسط
  • افترض 1000K في ميغابايت وليس 1024
  • افترض أنك لن تضرب التسعير المتخرج فوق 1TB

رسالة 30K / 1 * 1 TB / 1000000000K * $ .095 / 1 غيغابايت * 1000 جيجابايت / 1 السل = $ 0.00000285 / رسالة لأول tb من الاستخدام

1 رسالة / ~ 30K * 1000000000K / 1 TB = 33333333 الرسائل في السل

333333333 الرسائل * 0.00000285 $ / رسالة = ~ 95 دولار أمريكي لأول السل

انتشرت على مدار شهر، يمكننا أن نفعل مثل 40،000 رسالة في الساعة مع TB 1

أسعار الحافلات الخدمة

  • 10 دولارات في الشهر قاعدة السعر
  • الدفع لكل عملية (أي مكالمة API هي OP) - إضافة قائمة انتظار / تلقي قائمة انتظار / مراقبة قائمة الانتظار / الخ
  • تحصل على 12.5 مليون عمارة مجانية / شهر
  • دفع لكل مليون وظيفة بعد ذلك

من الصعب تقدير الاستخدام هنا ولكن 100 مليون عملية تكاليف 80 دولارات في الشهر

تلقي دفعة

يمكن أن يدفع التخزين بحد أقصى 32 رسالة عن طريق تحديد عدد الرسائل عند استرجاع الرسائل أثناء تسمح خدمة Service Bus عميل قائمة الانتظار بدفع رسائل متعددة في عملية إرسال واحدة.

حتى التخزين هو تلقي دفعة أثناء حافلة الخدمة هي دفعة إرسال.

يراقب

تمكنك قوائم انتظار Azure من الحصول على سجل مفصل لجميع المعاملات المنفذة ضد قائمة الانتظار، بالإضافة إلى المقاييس المجمعة. لا يخرج هذا النوع من الدعم خارج المربع مع حافلة الخدمة - ولكن ربما يمكن أن يجد محللا prebuilt في مكان ما.

إحالة

تحتوي حافلة الخدمة على ميزة إعادة توجيه تلقائي أن قوائم انتظار التخزين مفقودة.

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

التكرارات

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

رسائل قائمة انتظار التخزين يمكن أن تكرر دون تحذير.

البيانات الوصفية

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

ضمان التسليم

تقدم حافلة الخدمة في أكثر من مرة واحدة وعلى الأقل - مرة واحدة في حين أن قوائم الانتظار فقط تقدم على الأقل مرة واحدة التسليم. قد يحد هذا قدرتنا على استخدام قوائم الانتظار إذا كانت المشتركين المتزامنين مشكلة في أي وقت مضى.

أداء

تقدم قوائم انتظار التخزين Azure 10ms (ضمن Datacenter) أثناء وجود خدمة الحافلة 20-25ms. تقدم حافلة الخدمة الاقتراع الطويل الذي سيكون أفضل من 10 دقائق إذا كان لديك حاجة لذلك.

حماية

تقوم قوائم انتظار التخزين باستخدام الشيء الرئيسي الأساسي / الثانوي المشترك في حين توفر حافلة الخدمة RBAC عبر Active Directory مع أدوار المرسل / المتلقي / المسؤول.

المراجع

كما أفهمها، كان حافلة الخدمة (كما كان) قد قوائم الانتظار لفترة من الوقت، ولكن هذه ليست مضمونة لتسليم الرسالة - فرصة بون!

يقوم أزور طوابير الطائرات بتتماشى لأن حالة استخدامك لا تزال الأساسية مع واجهة Get / Peek الباقي الباقي الباقي.

تم تحديث المستندات مؤخرا (05/21/2015) وتكنولوجيا المعلومات وتحديدا عند استخدام واحد أو آخر، والميزات المشتركة (دعم المعاملات وحجم قائمة الانتظار والرسالة، والوقت للعيش، ...):

https://azure.microsoft.com/en-us/documentation/articles/service-bus-azure-and-service-bus-queues-.compared-contrasted/

يمكن تطبيق أنماط قائمة الانتظار التي تتعلم المطور على كليهما. كلاهما يمكن استخدامه من وجهة نظر طريقة العرض والتنفيذ.

الأشياء فقط قائمة انتظار التخزين يمكن أن تفعل 1) عامل معالجة الأعطال رسالة. عامل لاحق يريد اقرأ حالة الرسالة للمتابعة من حيث توقف العامل السابق. 2) تحتاج إلى سجلات جانبية الخادم من جميع المعاملات المنفذة مقابل قوائم الانتظار الخاصة بك.

لكن المقارنات لا تهم. إذا تطوير قائمة انتظار مخصصة هو ما نحتاج إليه، ثم استخدم دائما قائمة انتظار التخزين. كان أول من وضعه من قبل Microsoft. تم إحضار حافلة الخدمة في نسخ BizTalk والغرض من التكامل (الهجين)، وبالتالي هناك ميزات متقدمة في هذا الخط: جلسات أو معاملات أو أحرف ميتة أوتوماتيكية، إلخ.

هذا الرابط يوفر مقارنة، وكذلك هذا الرابط. وبعد سيكون من الصعب تحليل كل شيء وتبدأ في تطوير رشيق وبالتالي القاعدة المذكورة أعلاه.

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

قوائم انتظار التخزين وخدمة قوائم الانتظار الحافلة - مقارنة وتناقض

يدعم Azure نوعين من آليات قائمة الانتظار: قوائم انتظار التخزين وخدمة قوائم انتظار حافلات الخدمة.

تتميز قوائم انتظار التخزين، التي تعد جزءا من البنية التحتية للتخزين Azure، وهي واجهة بسيطة تستند إلى الراحة في الراحة، وهي توفر رسائل موثوقة ومستمرة داخل الخدمات وبينها.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top