ما هي المجموعة التكنولوجيا المراسلة للاستخدام؟

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

  •  23-08-2019
  •  | 
  •  

سؤال

أشعر بنوع قليل من الخلط - لمدة 24 ساعة كنت أفكر في المجموعة التي تبث المجموعة لاستخدامها في مشروعي.

أساسا، ما أحتاج إليه هو:

  • إنشاء مجموعات (من خلال بعض عملية الخلفية)
  • برسائل البث بواسطة أي عميل (1: n، n: n)
  • (يحتمل) الرسائل المباشرة (1: 1)
  • (مهم) مصادقة / تخويل العملاء مع الخلفية الخاصة بي (قل، من خلال نوع من API HTTP)
  • لتتمكن من ركلة عملاء محددة عن طريق عملية الخلفية (أو البرنامج المساعد الخادم)

هنا ما سأحصل عليه:

  1. العمليات العلاجية ذات الصلة (ES) في روبي أو Haxe
  2. الواجهة الأمامية في JS + HAXE (FLASH9) - في المتصفح، لذلك من الناحية المثالية التواصل من خلال 80/443، ولكن ليس بالضرورة.

لذلك، يجب أن تكون هذه التكنولوجيا يمكن الوصول إليها بسهولة في Haxe للفلاش ويفضل روبي.

لقد كنت أفكر في: Rabbitmq (أو Openamq)، Rabbitmq + Stomp، Ejabberd، Ejabberd + Bosh، Juggernaut (مع حاجة إلى كتابة Lib Haxe لذلك).

أي أفكار / اقتراحات؟

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

المحلول

إذا كنت ستتعرف على فلاش Dev هل نظرت إلى SmartFoxServer؟ لديها كل ما تريد ولديه مكتبات عميل فلاش الأصلي. اعتدت في مشروع لإدارة 10s من الآلاف من المستخدمين المتصلين.

http://www.smartfoxserver.com/

نصائح أخرى

يوري،

Rabbitmq، Haxe و AS3: http://geelfrelief.wordpress.com/2008/12/15/hxamqp-amqp-with-haxe/

Rabbitmq، Ruby و Acls: http://pastie.org/pastes/368315.

قد ترغب أيضا في إلقاء نظرة على استخدام Nanite مع Rabbitmq لإدارة المجموعات الخلفية: http://brainspl.at/articles/2008/10/11/merbcamp-Keynote-and-introducing-nanite.

أنت تقول أنك تحتاج:

* broadcast messages by any client (1:N, N:N)
* (potentially) direct messages (1:1)

يمكنك بسهولة القيام كليهما باستخدام Rabbitmq. يدعم RabbitMQ كلا الحالتين، 1: N Pubsub و 1: 1 المراسلة، مع التبادلات "المباشرة".

نمط التبادل المباشر هو كما يلي:

يرسل أي ناشر (عضو المجموعة) رسالة إلى الوسيط باستخدام "مفتاح توجيه" مثل "Yurii". يطابق RabbitMQ هذا المفتاح مع ربط الاشتراك في جدول التوجيه (AKA "التبادل") بالنسبة لك. يمثل كل ملزم اشتراكا في قائمة انتظار، معربا عن اهتمامك بالرسائل ذات مفتاح توجيه معين. عند تطابق مفاتيح التوجيه والتوجيه، يتم بعد ذلك توجيه الرسالة إلى قوائم الانتظار للاستهلاك اللاحق من قبل العملاء (أعضاء المجموعة). هذا يعمل ل 1: N و 1: 1 حالات؛ مع N: N المبنى على 1: ن.

مقدمة في نموذج التوجيه: http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/

المؤسسة العامة: http://google-ukdev.blogspot.com/2008/09/rabbitmq-tech-talk-at-google-london.html.

تحتاج أيضا:

* (important) authenticate/authorize clients with my own backend (say, through some kind of HTTP API)

يرجى الاطلاع على رمز ACLS لهذا (الرابط أعلاه). هناك أيضا واجهة HTTP إلى Rabbitmq لكننا لم ندمج بعد نهاية HTTP الأمامية باستخدام رمز ACL. لا ينبغي أن يحمل Oyu مرة أخرى. يرجى الحضور إلى قائمة RabbitMQ - مناقشة حيث تحدث هذا الموضوع مؤخرا.

تحتاج أيضا:

* create groups (by some backend process)
* to be able to kick specific clients by backend process (or server plugin)

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

أتمنى أن يساعدك هذا!

الكسيس

نحن سوف التواصل الجماعي هو وحش مختلف قليلا من المراسلة البسيطة / قائمة الانتظار.

معظم أنظمة الاتصالات الجماعية التجارية ولكن هناك اثنان (الذي أعرفه) مفتوح المصدر / مجاني يمكنك إلقاء نظرة على:

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

لقد تم استخدام ActiveMQ. يستخدم بائعنا الذي يوفر نظام الموارد البشرية لدينا Ruby / ActiveMQ للبث واستقبال التحديثات.

http://activemq.apache.org/cross-language- clients.html.

آخر سماسرة الرسائل المصدر الأخرى التي تدعم بروتوكول STOMPE OPENMQ، والتي يتم تضمينها في Glassfish V3 و Glassfish 2.1.1 ولكن أيضا يعمل بشكل مستقل، وقريبا على وسيط رسائل JBOSS، HornetQ V2.1. يدعم OpenMQ قوائم الانتظار المؤقتة التي تكون مفيدة لاتصال نمط RPC، ولكن يوفر ActiveMQ بعض الميزات المثيرة للاهتمام في محول Stomp أيضا.

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