هو AMQP مناسبة سواء من داخل و بين آلة البرمجيات الحافلة ؟

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

سؤال

أنا أحاول أن أستوعب AMQP.يبدو كبيرا بين آلة (الكتلة, LAN, WAN) التواصل بين التطبيقات ولكن لست متأكدا إذا كان هذا هو مناسبة (في المعمارية الحالية حيث التنفيذ) استخدام برامج حافلة في آلة واحدة.

سيكون من يستحق سحب تيار عالي الأداء رسالة تمرير الإطار إلى استبدالها AMQP ، أو هو الوقوع في نفس الفخ كما RPC من عدم وضوح التمييز بين المحلية وغير المحلية الاتصالات ؟

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

قصص الحرب سيكون موضع تقدير.

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

المحلول

وAMQP ليس إطارا RPC. فإنه يوفر لبنات بناء لنموذج أشياء مثل طوابير المشتركة، RPC، PubSub في الخ ولكنها لا تفرض أي طريقة محددة لاستخدامها.

إذا كنت تريد تقسيم طلبك (مما يجعلها قابلة للتوزيع على الطريق) وسلك جنبا إلى جنب مع AMQP أعتقد أنه من التكنولوجيا المناسبة. قد تكون هناك بدائل أسرع ولكن على الرغم ربما لا شيء كما عمومية كما AMQP.

نصائح أخرى

وAMQP هي مواصفات لذلك تريد ان تكون مقارنة التفاح مع البرتقال حقا. ليست هناك أن العديد من إنتاج جاهزة مقدمي AMQP هناك حقا. أي من مقدمي الرسائل رئيسي أو البائعين دعم AMQP في وقت كتابة (على سبيل المثال IBM، تيبكو، سونيك، BEA، وأوراكل، SwiftMQ، MS، اباتشي ActiveMQ، openmq من الشمس) - حتى يتسنى لجميع مقدمي AMQP المتاحة هي جميلة جديدة <. / P>

ولذا فإنني أنصح مقارنة مهما مزود AMQP كنت مهتما في رسالتك مع تمرير الإطار. ليس هناك نقطة تمزيق شيء أن يسير على ما يرام فقط بسبب الطريقة التي يقرأ ويكتب بايت إلى مأخذ:)

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

إذا كان لديك مشاكل مثل:

  • التوافقية لا يعمل
  • لا يمكن تغيير حجم بسهولة
  • الأداء ليس جيدا بما فيه الكفاية
  • الحالية الرسائل الحل مكلف (للحفاظ)

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

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

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

وAMQP تبدو أكثر مثل موثوق طرح الوسيطة النقل للSOA من شيء لاستخدامها داخليا.

إذا كنت مهتما في المقام الأول في العروض في سيناريو داخل الجهاز، والسؤال هو أقل عن AMQP (التي ليست سوى بروتوكول مستوى الأسلاك) من حول أي تنفيذ يجب أن تحاول.

وعن طريق إزالة الكمون قدم من قبل الشبكة، عليك ربما تكون أكثر حساسية لأداء الخام لتنفيذ مختلف. لذلك، أود أن ننظر في منتجات تنفيذها في C ++ مثل Qpid أو Zeromq.

وQpid يمكن أن تصل بسهولة 400 000 الرسائل / ثانية (مع رسائل من 1024 بايت) على بعض الأجهزة لائق (رباعية الأساسية). وربما Zeromq أداء أفضل بكثير لأنك يمكن أن يكون الند للند قنوات حين Qpid يستخدم العمارة وسيط (الذي كان خطوة).

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