بروتوكول متقدم لقوائم الرسائل

بروتوكول AMQP ( بروتوكول طابور الرسائل المتقدم ) هو بروتوكول مفتوح المصدر لطبقة التطبيقات خاص بالبرمجيات الوسيطة الموجهة نحو الرسائل . وتتمثل السمات المميزة لبروتوكول AMQP في توجيه الرسائل، والترتيب في طوابير، والتوجيه (بما في ذلك التوجيه من نقطة إلى نقطة والتوجيه بالنشر والاشتراك )، والموثوقية والأمان. [ 1 ]

يُحدد بروتوكول AMQP سلوك مُزود خدمة المراسلة وعميلها، بحيث تكون تطبيقاته من مختلف الموردين قابلة للتشغيل البيني ، تمامًا كما فعلت بروتوكولات SMTP و HTTP و FTP وغيرها في إنشاء أنظمة قابلة للتشغيل البيني. وقد ركزت عمليات التوحيد القياسية السابقة للبرمجيات الوسيطة على مستوى واجهة برمجة التطبيقات (مثل JMS )، وعلى توحيد تفاعل المبرمجين مع تطبيقات البرمجيات الوسيطة المختلفة، بدلًا من توفير قابلية التشغيل البيني بين تطبيقات متعددة. [ 2 ] وعلى عكس JMS، الذي يُحدد واجهة برمجة تطبيقات ومجموعة من السلوكيات التي يجب أن يوفرها تطبيق المراسلة، فإن AMQP هو بروتوكول على مستوى الشبكة . ويُعرف بروتوكول مستوى الشبكة بأنه وصف لتنسيق البيانات المُرسلة عبر الشبكة كتدفق من البايتات . وبالتالي، فإن أي أداة قادرة على إنشاء وتفسير الرسائل التي تتوافق مع تنسيق البيانات هذا، يُمكنها العمل مع أي أداة أخرى متوافقة، بغض النظر عن لغة البرمجة المستخدمة.

ملخص

بروتوكول AMQP هو بروتوكول ثنائي لطبقة التطبيقات، مصمم لدعم مجموعة واسعة من تطبيقات المراسلة وأنماط الاتصال بكفاءة. يوفر اتصالاً موجهاً نحو الرسائل مع تحكم في التدفق، [ 3 ] وضمانات لتسليم الرسائل مثل " مرة واحدة على الأكثر" (حيث تُسلّم كل رسالة مرة واحدة أو لا تُسلّم أبداً)، و"مرة واحدة على الأقل " (حيث تُسلّم كل رسالة بشكل مؤكد، ولكن قد تُسلّم عدة مرات)، و "مرة واحدة بالضبط " (حيث تصل الرسالة دائماً وبشكل مؤكد، ومرة ​​واحدة فقط)، [ 4 ] بالإضافة إلى المصادقة و/أو التشفير باستخدام SASL و/أو TLS . [ 5 ] ويفترض وجود بروتوكول طبقة نقل موثوق به مثل بروتوكول التحكم في الإرسال (TCP). [ 6 ]

تم تعريف مواصفات AMQP في عدة طبقات: (1) نظام نوع، (2) بروتوكول متماثل وغير متزامن لنقل الرسائل من عملية إلى أخرى، (3) تنسيق رسائل قياسي وقابل للتوسيع، و(4) مجموعة من "قدرات المراسلة" القياسية ولكن القابلة للتوسيع.

تاريخ

طُوِّر بروتوكول AMQP عام 2003 على يد جون أوهارا في بنك جيه بي مورغان تشيس بلندن . [ 1 ] [ 7 ] وقد بُني AMQP كمشروع تعاوني مفتوح المصدر. تولى بنك جيه بي مورغان تشيس التصميم الأولي من منتصف عام 2004 إلى منتصف عام 2006، وتعاقد مع شركة iMatix لتطوير وسيط C وتوثيق البروتوكول. في عام 2005، تواصل بنك جيه بي مورغان تشيس مع شركات أخرى لتشكيل فريق عمل ضمّ سيسكو سيستمز ، وآيونا تكنولوجيز ، وآي ماتيكس، وريد هات ، وفريق معايير ابتكار سير العمل للمعاملات (TWIST). في العام نفسه، دخل بنك جيه بي مورغان تشيس في شراكة مع ريد هات لإنشاء أباتشي كيوبيد ، الذي طُوِّر في البداية بلغة جافا، ثم بلغة C++ بعد فترة وجيزة. وبشكل مستقل، طُوِّر رابيت إم كيو بلغة إرلانج بواسطة شركة رابيت تكنولوجيز، وتلته لاحقًا تطبيقات مايكروسوفت وستورم إم كيو.

توسعت مجموعة العمل لتضم 23 شركة بما في ذلك بنك أوف أمريكا ، باركليز ، سيسكو سيستمز، كريدي سويس ، دويتشه بورصه ، جولدمان ساكس ، إتش سي إل تكنولوجيز المحدودة ، بروجريس سوفتوير ، آي آي تي ​​سوفتوير ، آي نتكو سيستمز المحدودة ، إنفورماتيكا (بما في ذلك 29 ويست)، جيه بي مورجان تشيس، مايكروسوفت كوربوريشن ، ماي-تشانلز، نوفيل ، ريد هات ، سوفتوير إيه جي ، سولاس سيستمز ، ستورم إم كيو، تيرفيلا ، تويست بروسيس إنوفيشنز المحدودة، في إم وير (التي استحوذت على رابيت تكنولوجيز) و دبليو إس أو 2 .

في عام ٢٠٠٨، كتب بيتر هينتجنس ، الرئيس التنفيذي وكبير مصممي البرمجيات في شركة iMatix، مقالًا بعنوان "ما هي مشكلة بروتوكول AMQP (وكيفية إصلاحها)" [ ٨ ] ، ووزعه على فريق العمل للتنبيه إلى احتمال حدوث عطل وشيك، وتحديد المشكلات التي رصدتها iMatix، واقتراح حلول لتعديل مواصفات AMQP. في ذلك الوقت، كانت iMatix قد بدأت بالفعل العمل على ZeroMQ . وفي عام ٢٠١٠، أعلن هينتجنس أن iMatix ستنسحب من فريق عمل AMQP، وأنها لا تخطط لدعم AMQP/١.٠ لصالح ZeroMQ الأبسط والأسرع بشكل ملحوظ. [ ٩ ]

في أغسطس 2011، أعلنت مجموعة عمل AMQP عن إعادة تنظيمها لتصبح قسمًا تابعًا لمنظمة OASIS . [ 10 ]

أصدرت مجموعة عمل AMQP بروتوكول AMQP 1.0 في 30 أكتوبر 2011، خلال مؤتمر عُقد في نيويورك. وخلال المؤتمر، عرضت شركات مايكروسوفت، وريد هات، وفي إم وير ، وأباتشي، وINETCO، وIIT Software برامج تعمل بالبروتوكول في عرض توضيحي للتوافق التشغيلي. وفي اليوم التالي، 1 نوفمبر 2011، أُعلن عن تشكيل لجنة فنية تابعة لمنظمة OASIS [ 11 ] للنهوض بإصدار AMQP 1.0 المُساهم به من خلال عملية المعايير المفتوحة الدولية. صدرت المسودة الأولى من OASIS في فبراير 2012 [ 12 ] ، واقتصرت التغييرات مقارنةً بالنسخة التي نشرتها مجموعة العمل على تعديلات لتحسين الوضوح (دون تغييرات وظيفية). صدرت المسودة الثانية للمراجعة العامة في 20 يونيو (أيضًا دون تغييرات وظيفية) [ 13 ] ، وتم اعتماد AMQP كمعيار من معايير OASIS في 31 أكتوبر 2012 [ 14 ].

تمت الموافقة على معيار OASIS AMQP لإصداره كمعيار دولي من قِبل المنظمة الدولية للمعايير (ISO) واللجنة الكهروتقنية الدولية (IEC) في أبريل 2014. [ 15 ] وتم طرح الإصدار AMQP 1.0 للتصويت من خلال اللجنة الفنية المشتركة لتكنولوجيا المعلومات (JTC1) التابعة للمنظمة الدولية للمعايير (ISO) واللجنة الكهروتقنية الدولية (IEC). وقد مُنح الإصدار المُعتمد من معيار OASIS AMQP التسمية ISO/IEC 19464.

كانت الإصدارات السابقة من بروتوكول AMQP هي 0-8، التي نُشرت في يونيو 2006، و0-9، التي نُشرت في ديسمبر 2006، و0-10، التي نُشرت في فبراير 2008 [ 16 ] ، و0-9-1، التي نُشرت في نوفمبر 2008. وتختلف هذه الإصدارات السابقة اختلافًا كبيرًا عن مواصفات الإصدار 1.0. [ 17 ] [ 18 ]

على الرغم من أن بروتوكول AMQP نشأ في قطاع الخدمات المالية، إلا أنه يتمتع بتطبيق عام على نطاق واسع من مشاكل البرمجيات الوسيطة .

وصف بروتوكول AMQP 1.0

نظام الكتابة

يُعرّف بروتوكول AMQP نظام ترميز ذاتي الوصف يسمح بتمثيل قابل للتشغيل البيني لمجموعة واسعة من الأنواع الشائعة الاستخدام. كما يسمح بتعليق البيانات المكتوبة بعبارات إضافية، [ 19 ] فعلى سبيل المثال، يمكن تعليق قيمة نصية معينة بحيث يمكن فهمها على أنها عنوان URL . وبالمثل، يمكن تعليق قيمة خريطة تحتوي على أزواج مفتاح-قيمة لـ "الاسم" و"العنوان" وما إلى ذلك، على أنها تمثيل لنوع "العميل".

يُستخدم نظام الأنواع لتحديد تنسيق الرسائل الذي يسمح بالتعبير عن البيانات الوصفية القياسية والموسعة وفهمها من قِبل الكيانات المعالجة. كما يُستخدم لتحديد أساسيات الاتصال التي يتم من خلالها تبادل الرسائل بين هذه الكيانات، أي أجسام إطار AMQP .

الوحدة الأساسية للبيانات في بروتوكول AMQP هي الإطار . يوجد تسعة أنواع من أجسام الإطارات في بروتوكول AMQP تُستخدم لبدء عملية نقل الرسائل بين نظيرين، والتحكم فيها، وإنهائها. وهذه الأنواع هي:

  • افتح ( الاتصال )
  • بدء ( الجلسة )
  • أرفق ( الرابط )
  • تحويل
  • تدفق
  • التصرف
  • افصل ( الرابط )
  • إنهاء ( الجلسة )
  • أغلق ( الاتصال )

يُعد بروتوكول الربط جوهر بروتوكول AMQP.

يتم إرسال حزمة بيانات الإطار المرفق لبدء رابط جديد؛ وحزمة بيانات الإطار المنفصل لإنهاء رابط قائم. ويمكن إنشاء الروابط لاستقبال الرسائل أو إرسالها.

تُرسل الرسائل عبر رابط مُنشأ باستخدام إطار النقل . وتتدفق الرسائل على الرابط في اتجاه واحد فقط.

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

يجب تسوية كل رسالة مُحولة في نهاية المطاف . تضمن التسوية اتفاق المُرسِل والمُستقبِل على حالة التحويل، مما يوفر ضمانات موثوقية. يتم إبلاغ الأطراف المعنية بالتغييرات في الحالة والتسوية لتحويل (أو مجموعة تحويلات) باستخدام إطار التخلص . يمكن تطبيق ضمانات موثوقية متنوعة بهذه الطريقة: مرة واحدة على الأكثر، ومرة ​​واحدة على الأقل، ومرة ​​واحدة بالضبط. [ 21 ]

يمكن تجميع روابط متعددة، في كلا الاتجاهين، ضمن جلسة واحدة . الجلسة عبارة عن محادثة ثنائية الاتجاه ومتسلسلة بين طرفين، تبدأ بإطار بدء وتنتهي بإطار إنهاء . يمكن أن يتضمن اتصال بين طرفين جلسات متعددة متزامنة، كل منها مستقلة منطقيًا. تبدأ الاتصالات بإطار فتح يُوضح فيه إمكانيات الطرف المُرسِل، وتنتهي بإطار إغلاق .

تنسيق الرسالة

يُعرّف بروتوكول AMQP الرسالة الأساسية بأنها ذلك الجزء من الرسالة الذي يُنشئه التطبيق المُرسِل. وتُعتبر هذه الرسالة غير قابلة للتغيير لأنها تُنقل بين عملية واحدة أو أكثر.

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

يُعدّ رأس الرسالة مجموعة قياسية من البيانات المتعلقة بالتسليم والتي يمكن طلبها أو تحديدها للرسالة، وتشمل مدة الصلاحية، والمتانة، والأولوية. [ 22 ]

تتكون الرسالة الأساسية نفسها من قائمة اختيارية من الخصائص القياسية (معرف الرسالة، معرف المستخدم، وقت الإنشاء، الرد على، الموضوع، معرف الارتباط، معرف المجموعة، إلخ)، وقائمة اختيارية من الخصائص الخاصة بالتطبيق (أي الخصائص الموسعة)، وجسم الرسالة، والذي يشير إليه بروتوكول AMQP باسم بيانات التطبيق. [ 23 ]

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

إمكانيات المراسلة

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

تُعدّ العُقد المستخدمة كنقطة التقاء بين مُرسِلي ومُستقبِلي الرسائل (مثل قوائم الانتظار أو المواضيع ) فئةً رئيسية . ويُطلق مُواصفات بروتوكول AMQP على هذه العُقد اسم عُقد التوزيع ، وتُقنّن بعض السلوكيات الشائعة. [ 24 ]

وهذا يشمل:

  • بعض النتائج القياسية لعمليات النقل، والتي من خلالها يمكن لمستقبلي الرسائل على سبيل المثال قبول الرسائل أو رفضها [ 25 ]
  • آلية للإشارة إلى أو طلب أحد نمطي التوزيع الأساسيين، المستهلكين المتنافسين وغير المتنافسين، من خلال أنماط التوزيع نقل ونسخ على التوالي [ 26 ] .
  • القدرة على إنشاء العقد عند الطلب، [ 27 ] [ 28 ] على سبيل المثال لقوائم انتظار الاستجابة المؤقتة
  • القدرة على تحسين مجموعة الرسائل ذات الأهمية للمتلقي من خلال المرشحات [ 29 ]

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

التطبيقات

تطبيقات وسيط AMQP 1.0

تطبيقات وسيط AMQP قبل الإصدار 1.0

مواصفة

يُعدّ بروتوكول AMQP الإصدار 1.0 هو الإصدار الحالي من المواصفات. ويركز على الميزات الأساسية اللازمة للتوافقية على نطاق الإنترنت. ويحتوي على توجيه أقل وضوحًا من الإصدارات السابقة، نظرًا لأن الوظائف الأساسية هي أول ما يتم توحيده بدقة. وقد خضع بروتوكول AMQP 1.0 لاختبارات توافقية أكثر شمولًا مع عدد أكبر من المطورين مقارنةً بالإصدارات السابقة. [ 37 ]

يحتوي موقع AMQP الإلكتروني على مواصفات OASIS للإصدار 1.0 .

تتضمن الإصدارات السابقة من بروتوكول AMQP، التي نُشرت قبل إصدار النسخة 1.0 (انظر التاريخ أعلاه) والتي تختلف عنها اختلافًا كبيرًا، ما يلي:

  • AMQP 0-9-1 ، والذي يتوفر لديه عملاء "لعديد من لغات البرمجة والمنصات الشائعة" [ 38 ]
  • AMQP 0-10

مواصفات مماثلة

تغطي مواصفات البروتوكول المفتوح هذه نفس المجال أو مجالًا مشابهًا لمجال AMQP:

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

انظر أيضاً

مراجع

  1. 1 2 أوهارا، ج. (2007). "نحو برمجيات وسيطة تجارية للمؤسسات" . ACM Queue . 5 (4): 48–55 . doi : 10.1145/1255421.1255424 .
  2. فينوسكي، س. (2006). "بروتوكول متقدم لترتيب الرسائل" (ملف PDF) . مجلة IEEE للحوسبة عبر الإنترنت . 10 (6): 87-89 . doi : 10.1109/MIC.2006.116 . S2CID 14211884 . 
  3. "OASIS AMQP الإصدار 1.0، القسمان 2.6.7-2.6.8" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  4. "OASIS AMQP الإصدار 1.0، القسمان 2.6.12-2.6.13" . اللجنة الفنية لـ OASIS AMQP . تاريخ الاطلاع: 18 يونيو 2012 .
  5. "OASIS AMQP الإصدار 1.0، القسم 5.1" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  6. "OASIS AMQP الإصدار 1.0، القسم 2.1" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  7. هينتجنس، بيتر (7 فبراير 2006). "خلفية مشروع AMQ، المؤلفون" . شركة iMatix . تم الاطلاع عليه بتاريخ 18 فبراير 2018 .
  8. هينتجنس، بيتر. "ما هي مشكلة بروتوكول AMQP (وكيفية إصلاحها)" . iMatix . مؤرشف من الأصل في 6 سبتمبر 2011. تم الاطلاع عليه في 1 مارس 2024 .
  9. هينتجنس، بيتر (30 مارس 2010). "ستنهي iMatix دعم OpenAMQ بحلول عام 2011" . قائمة بريدية openamq-dev . مؤرشف من الأصل في 2 أبريل 2010. تم الاطلاع عليه في 1 مارس 2024 .
  10. "انتقال مجموعة عمل AMQP إلى قسم أعضاء OASIS" . مؤرشف من الأصل بتاريخ 16 أبريل 2012. تم الاطلاع عليه بتاريخ 28 يناير 2012 .
  11. شكلت منظمة OASIS لجنة فنية لبروتوكول AMQP لتعزيز قابلية التشغيل البيني لرسائل الأعمال ضمن بيئات البرمجيات الوسيطة والهواتف المحمولة والحوسبة السحابية
  12. "مراجعة عامة لمدة 30 يومًا لإصدار OASIS AMQP 1.0" . 21 فبراير 2012. تم الاطلاع عليه في 18 يونيو 2012 .
  13. "مراجعة عامة لمدة 15 يومًا لإصدار OASIS AMQP 1.0" . 20 يونيو 2012. تم الاطلاع عليه في 20 يونيو 2012 .
  14. "بروتوكول AMQP 1.0 يصبح معيارًا لمنظمة OASIS" . 31 أكتوبر 2012. تم الاطلاع عليه في 1 نوفمبر 2012 .
  15. "تكنولوجيا المعلومات - مواصفات بروتوكول AMQP المتقدم الإصدار 1.0" . ISO/IEC 19464. ISO . تم الاطلاع عليه في 1 مايو 2014 .
  16. "محضر اجتماع لجنة إدارة برنامج AMQP بتاريخ 13 فبراير 2008" . محضر اجتماع لجنة إدارة برنامج AMQP . فريق عمل برنامج AMQP . تم الاطلاع عليه بتاريخ 15 يونيو 2012 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  17. "RabbitMQ - AMQP 0-8 إلى 0-9-1" . www.rabbitmq.com . تم الاطلاع عليه بتاريخ 12 يناير 2018 .
  18. rabbitmq-amqp1.0: دعم AMQP 1.0 لـ RabbitMQ ، RabbitMQ، 17 ديسمبر 2017 ، تم الاطلاع عليه في 12 يناير 2018
  19. "OASIS AMQP الإصدار 1.0، القسم 1.1" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  20. "OASIS AMQP الإصدار 1.0، القسم 2.6.7-2.6.9" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  21. "OASIS AMQP الإصدار 1.0، القسم 2.6.12-2.6.14" . مجموعة عمل AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  22. "OASIS AMQP الإصدار 1.0، القسم 3.2.1" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  23. "OASIS AMQP الإصدار 1.0، القسم 3.2" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  24. "OASIS AMQP الإصدار 1.0، القسم 3.3" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 15 يونيو 2012 .
  25. "OASIS AMQP الإصدار 1.0، القسم 3.4" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  26. "OASIS AMQP الإصدار 1.0، القسم 3.5.2" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  27. "OASIS AMQP الإصدار 1.0، القسم 3.5.3" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  28. "OASIS AMQP الإصدار 1.0، القسم 3.5.4" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  29. "OASIS AMQP الإصدار 1.0، القسم 3.5.1" . اللجنة الفنية لـ OASIS AMQP . تم الاطلاع عليه بتاريخ 18 يونيو 2012 .
  30. 1 2 axisc. "دليل بروتوكول AMQP 1.0 في Azure Service Bus و Event Hubs" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 21 مايو 2019 .
  31. شوبها فيجاياساراثي. "ما هي Azure Event Hubs؟ - خدمة استيعاب البيانات الضخمة" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 21 مايو 2019 .
  32. axisc. "نظرة عامة على AMQP 1.0 في Azure Service Bus" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 21 مايو 2019 .
  33. "IBM MQ" . www.ibm.com . تم الاطلاع عليه بتاريخ 15 مارس 2024 .
  34. "نبذة عن IBM MQ" . www.ibm.com . تم الاطلاع عليه بتاريخ 15 مارس 2024 .
  35. "Solace PubSub+" . solace.com .
  36. Qpid 0.22 - Apache Qpid™
  37. "حالة إصدارات AMQP السابقة للإصدار 1.0" . موقع AMQP . تم الاطلاع عليه بتاريخ 28 مايو 2014 .
  38. "شرح نموذج AMQP 0-9-1" . شركة VMWare . تم الاطلاع عليه في 1 نوفمبر 2012 .