وسيط الرسائل هو برنامج يُمكّن التطبيقات والأنظمة والخدمات من التواصل وتبادل المعلومات—حتى لو كانت مكتوبة بلغات مختلفة أو جرى استخدامها على منصات مختلفة—عن طريق ترجمة الرسائل بين بروتوكولات المراسلة الرسمية.
وسطاء الرسائل هي وحدات برمجية ضمن البرامج الوسيطة للمراسلة أو حلول البرامج الوسيطة الموجهة للرسائل (MOM). يوفر هذا النوع من البرامج الوسيطة للمطورين وسيلة موحدة للتعامل مع تدفق البيانات بين مكونات التطبيق حتى يتمكنوا من التركيز على منطقه الأساسي. ويمكن أن تكون بمثابة طبقة اتصالات موزعة تسمح للتطبيقات التي تمتد عبر منصات متعددة بالتواصل داخليًا.
يمكن لوسطاء الرسائل التحقق من صحة الرسائل وتخزينها وتوجيهها وتسليمها إلى الوجهات المناسبة. وهي تعمل بوصفها وسطاء بين التطبيقات الأخرى، ما يسمح للمرسلين بإصدار الرسائل دون معرفة مكان وجود أجهزة الاستقبال، وما إذا كانت نشطة أم لا، أو عددها. ويسهل هذا من فصل العمليات والخدمات داخل الأنظمة.
من أجل توفير تخزين موثوق للرسائل وتسليم مضمون لها، غالبًا ما يعتمد وسطاء الرسائل على بنية فرعية أو عنصر يسمى قائمة انتظار الرسائل التي تخزن الرسائل وترتبها حتى تتمكن التطبيقات المستخدمة لها من معالجتها. في قائمة انتظار الرسائل، تُخزن الرسائل بالترتيب الذي أُرسلت به نفسه وتظل في قائمة الانتظار حتى تأكيد الاستلام.
تشير المراسلة غير المتزامنة إلى نوع الاتصال بين التطبيقات الذي يتيحه وسطاء الرسائل. فهي تمنع فقدان البيانات القيمة وتُمكّن الأنظمة من مواصلة العمل حتى في مواجهة مشكلات الاتصال المتقطع أو مشكلات زمن الانتقال الشائعة على الشبكات العامة. تضمن المراسلة غير المتزامنة تسليم الرسائل مرة واحدة (مرة واحدة فقط) بالترتيب الصحيح مع الرسائل الأخرى.
قد يشتمل وسطاء الرسائل على مدراء قوائم الانتظار للتعامل مع التفاعلات بين قوائم انتظار الرسائل المتعددة، بالإضافة إلى الخدمات التي توفر توجيه البيانات وترجمة الرسائل والاستمرارية ووظائف إدارة حالة العميل.
يقدم وسطاء الرسائل نمطين أساسيين لتوزيع الرسائل أو أنماط المراسلة:
المراسلة المباشرة: هذا هو نمط التوزيع المستخدم في قوائم انتظار الرسائل مع وجود علاقة أحادية بين مرسل الرسالة ومستقبلها. تُرسل كل رسالة في قائمة الانتظار إلى مستلم واحد فقط وتُستخدم مرة واحدة فقط. تُستخدم المراسلة المباشرة عندما يجب معالجة رسالة مرة واحدة فقط. وتتضمن أمثلة حالات الاستخدام المناسبة لأسلوب المراسلة هذا معالجة كشوف المرتبات والمعاملات المالية. يحتاج كل من المرسلين والمستقبلين في هذه الأنظمة إلى ضمان إجراء عملية الدفع مرة واحدة فقط.
مراسلة النشر/الاشتراك: في هذا النمط من توزيع الرسائل، والذي يشار إليه غالبًا بالاختصار "pub/sub"، ينشر مُنشئ كل رسالة الرسالة ضمن موضوع ما، ويشترك مستهلكو الرسائل المتعددة في المواضيع التي يريدون تلقي الرسائل عنها. تُوزع جميع الرسائل المنشورة ضمن موضوع ما على جميع التطبيقات المشتركة فيه. هذه طريقة توزيع على غرار البث، حيث توجد علاقة واحد إلى متعدد بين ناشر الرسالة ومستهلكيها. على سبيل المثال، إذا نشرت إحدى شركات الطيران تحديثات حول أوقات الهبوط أو حالة التأخير في رحلاتها، فيمكن لأطراف متعددة الاستفادة من هذه المعلومات: الطواقم الأرضية التي تعمل على صيانة الطائرة وتزويدها بالوقود، ومناولي الأمتعة، والمضيفين والطيارين الذين يستعدون للرحلة التالية للطائرة، ومشغلي شاشات العرض المرئية التي تعرض الإشعارات الموجهة إلى الجمهور. سيكون أسلوب المراسلة "pub/sub" مناسبًا للاستخدام في هذا السيناريو.
تطبيقات السحابة الأصلية مصممة للاستفادة من المزايا الكامنة في الحوسبة السحابية، بما في ذلك المرونة وقابلية التوسع والنشر السريع. تتكون هذه التطبيقات من عناصر صغيرة ومنفصلة وقابلة لإعادة الاستخدام تسمى الخدمات المصغرة. تُنشر كل خدمة مصغرة ويمكن تشغيلها بشكل مستقل عن الخدمات الأخرى. ويعني هذا أنه يمكن تحديث أي منها أو تحجيمها أو إعادة تشغيلها من دون التأثير في الخدمات الأخرى على النظام. غالبًا ما تكون الخدمات المصغرة معبأة في حاويات، وتعمل معًا لتكوين تطبيق كامل، على الرغم من أن لكل منها مجموعتها الخاصة، بما في ذلك قاعدة بيانات ونموذج بيانات قد يكون مختلفًا عن غيرها.
يجب أن يكون لدى الخدمات المصغرة وسيلة للتواصل مع بعضها البعض من أجل العمل بشكل متناسق. ويمثل وسطاء الرسائل إحدى الآليات التي يستخدمونها لإنشاء هذا النظام الأساسي من الاتصالات المشتركة.
غالبًا ما يُستخدم وسطاء الرسائل لإدارة الاتصالات بين الأنظمة المحلية والعناصر السحابية في بيئات السحابة الهجينة . ويوفر استخدام وسيط الرسائل المزيد من التحكم في الاتصالات بين الخدمات، ما يضمن إرسال البيانات بأمان وموثوقية وكفاءة بين عناصر التطبيق. ويُمكن لوسطاء الرسائل أداء الدور نفسه في دمج بيئات السحابة المتعددة ، ما يتيح الاتصال بين أحمال التشغيل وأوقات التشغيل على المنصات المختلفة. كما أنهم مناسبون تمامًا للاستخدام في الحوسبة بدون خادم، حيث تعمل الخدمات الفردية المستضافة على السحابة عند الطلب وعلى أساس كل طلب.
تستخدم واجهات برمجة التطبيقات REST بشكل شائع للاتصالات بين الخدمات المصغرة. ويحدد مصطلح نقل الحالة التمثيلية (REST) مجموعة من المبادئ والقيود التي يمكن للمطورين الالتزام بها عند إنشاء خدمات الويب. وستتمكن أي خدمات تطبقها من التواصل عبر مجموعة من المشغلين والطلبات المشتركة الموحدة عديمة الحالة. تشير واجهة برمجة التطبيقات (API) إلى الكود الأساسي الذي، إذا كان يتوافق مع قواعد نقل الحالة التمثيلية (REST)، فإنه يسمح للخدمات بالتواصل مع بعضها.
تستخدم واجهات برمجة تطبيقات نقل الحالة التمثيلية (REST) بروتوكول نقل النص التشعبي (HTTP) للاتصال. ونظرًا لأن نقل النص التشعبي (HTTP) هو بروتوكول النقل القياسي للإنترنت العام، فإن واجهات برمجة تطبيقات نقل الحالة التمثيلية (REST) معروفة على نطاق واسع ومستخدمة بشكل متكرر وقابلة للتشغيل البيني على نطاق واسع. نقل النص التشعبي (HTTP) هو بروتوكول طلب/استجابة، ومع ذلك، فمن الأفضل استخدامه في المواقف التي تحتاج إلى طلبًا/ردًا متزامنًا. وهذا يعني أن الخدمات التي تقدم الطلبات عبر واجهات برمجة تطبيقات نقل الحالة التمثيلية (REST) يجب أن تكون مصممة لتوقع استجابة فورية. إذا كان العميل الذي يتلقى الاستجابة معطلاً، سيتم حظر خدمة الإرسال أثناء انتظار الرد. يجب تضمين منطق تجاوز الفشل ومعالجة الأخطاء في كلتا الخدمتين.
يمكّن وسطاء الرسائل الاتصالات غير المتزامنة بين الخدمات بحيث لا تحتاج الخدمة المرسلة إلى انتظار رد الخدمة المستقبلة. وهذا يحسن من تحمل الأخطاء والمرونة في الأنظمة التي يتم استخدامها فيها. بالإضافة إلى ذلك، فإن استخدام وسطاء الرسائل يجعل من السهل توسيع نطاق الأنظمة لأن نمط المراسلة "النشر/الاشتراك" يمكن أن يدعم بسهولة تغيير أعداد الخدمات. يقوم وسطاء الرسائل أيضًا بتتبع حالات المستهلكين.
وفي حين أنه يمكن لوسطاء الرسائل دعم نمطين أو أكثر من أنماط المراسلة، بما في ذلك قوائم انتظار الرسائل pub/sub، فإن منصات بث الأحداث لا تقدم إلا أنماط توزيع بأسلوب pub/sub. ومنصات بث الأحداث المصممة للاستخدام مع أحجام كبيرة من الرسائل قابلة للتوسع بسرعة. فهي قادرة على تنظيم تدفقات السجلات في فئات تسمى الموضوعات وتخزينها لمدة زمنية محددة مسبقًا. لكن على عكس وسطاء الرسائل، لا تستطيع منصات بث الأحداث ضمان تسليم الرسائل أو تتبع المستهلكين الذين تلقوا الرسائل.
توفر منصات بث الأحداث قابلية توسع أكبر من وسطاء الرسائل ولكن ميزات أقل تضمن التسامح مع الخطأ (مثل إعادة إرسال الرسائل)، بالإضافة إلى إمكانات محدودة لتوجيه الرسائل ووضعها في قائمة الانتظار.
تعرف على المزيد عن البنية القائمة على الأحداث.
ناقل الخدمة المؤسسية (ESB) هو نمط هيكلي يُستخدم أحيانًا في البنية الخدمية المستخدمة عبر المؤسسات. في ناقل الخدمة المؤسسية (ESB)، تجمع منصة برمجية مركزية بروتوكولات الاتصال وتنسيقات البيانات في "لغة مشتركة" يمكن لجميع الخدمات والتطبيقات في البنية مشاركتها. فقد تترجم، على سبيل المثال، الطلبات التي تتلقاها من بروتوكول واحد (مثل XML) إلى بروتوكول آخر (مثل JSON). تحوِّل ناقلات الخدمة المؤسسية (ESB) حمولات رسائلها باستخدام عملية مؤتمتة. تتعامل المنصة البرمجية المركزية أيضًا مع منطق التنسيق الآخر، مثل الاتصال والتوجيه ومعالجة الطلبات.
ومع ذلك، فإن البنى التحتية لناقلات خدمة المؤسسة (ESB) معقدة، وقد يكون من الصعب دمجها وصيانتها مكلفة. من الصعب استكشاف الأخطاء وإصلاحها عند حدوث مشكلات في بيئات الإنتاج، وليس من السهل توسيع نطاقها، والتحديث ممل.
يُعد وسطاء الرسائل هم البديل "الخفيف" لناقلات خدمة المؤسسة (ESB) حيث تؤدي نفس الوظيفة وهي—آلية للاتصالات بين الخدمات—بشكل أكثر بساطة وبتكلفة أقل. وهي مناسبة تمامًا للاستخدام في بنيات الخدمات المصغرة التي أصبحت أكثر انتشارًا حيث تراجع انتشار ناقلات خدمة المؤسسة (ESB).
يمكن لتنفيذ وسطاء الرسائل تلبية مجموعة واسعة من احتياجات العمل في الصناعات وضمن بيئات حوسبة المؤسسات المتنوعة. فخي مفيدة في أي وقت ومكان يتم فيه طلب اتصال موثوق بين التطبيقات وتسليم رسائل مضمون.
غالبا ما يتم توظيف وسطاء الرسائل بالطرق التالية:
وفِّر لعملك مراسلة عالية الأداء وغنية بعناصر الأمان مع ضمان تسليم موثوق به.
تسريع مرونة الأعمال ونموها - حدِّث تطبيقاتك باستمرار على أي منصة باستخدام خدماتنا السحابية والاستشارات التي نقدِّمها.