خفيفة الوزن الرسائل (المتزامن الدعاء) في جافا

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

  •  03-07-2019
  •  | 
  •  

سؤال

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

دعونا نقول لدي مكونات A و B و تجهيز المحرك (تكون هذه الحاوية أو أي شيء آخر) استدعاء العنصر الذي بدوره يقوم باستدعاء مكون B.لا يهمني إذا كان وقت تنفيذ مكون ب سوف يكون 2s, ولكن لا يهمني إذا كان وقت تنفيذ العنصر A هو أقل من 50ms ، على سبيل المثال.ولذلك يبدو الأكثر منطقية بالنسبة عنصر إلى تقديم رسالة إلى ب ، ب عملية في الوقت المطلوب.

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

هل لديك أي شيء أن يوصي في هذه المسألة ؟

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

المحلول

هل كنت بحاجة إلى أي نوع من استمرار (على سبيل المثال، إذا مات JVM الخاصة بك في بين معالجة الآلاف من الرسائل) وهل تحتاج رسائل إلى اجتياز أي JVMs أخرى؟

إذا كل ما في وJVM واحد، وكنت لا داعي للقلق بشأن المعاملات، واسترداد أو فقدان الرسالة إذا يموت JVM - ثم كما يقول كريس أعلاه، المنفذين على ما يرام

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

وبالمناسبة خيار آخر إذا لم تكن متأكدا من الخطوات التي قد تحتاج استمرار / موثوقية أو موازنة لJVMs متعددة سيكون ل<لأ href = "http://activemq.apache.org/camel/hiding-middleware.html" يختلط = "نوفولو noreferrer"> إخفاء استخدام الوسيطة تماما حتى يمكنك التبديل بين في الذاكرة SEDA قوائم الانتظار مع منفذي إلى الدائرة / ActiveMQ، وعندما كنت في حاجة إليها.

ومنها مثلا. قد يكون من أن تحتاج بعض الخطوات لتكون موثوقة وقابلة للاسترداد (بحيث تحتاج إلى نوع من الثبات) وأحيانا أخرى لا.

نصائح أخرى

حقا خفيفة الوزن؟ المنفذين . :-) لذا قمت بإعداد منفذ (B، في وصفك)، و A يقدم ببساطة المهام إلى المنفذ.

أعتقد أباتشي الإبل يغطي جميع الاحتياجات الخاصة بك.إنه يعمل ضمن JVM ويدعم سيدا نمط (http://camel.apache.org/seda.html) و simpe التوجيه.يمكن استخدامها بمفردها أو مع الربيع مع الدائرة مزود أو غيرها من محولات.

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

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