Question

Je développe un ensemble d'applications qui fonctionnent ensemble pour créer un système de traitement des données de mesure. Il y a plusieurs raisons pour lesquelles je souhaite les coupler de manière lâche et le système doit être extensible par des tiers. Ainsi, les applications seront liées entre elles par messagerie.

Je recherche un système de messagerie offrant des liaisons (au moins) en C #, Java et Python et prenant en charge des modèles de messagerie tels que Publier-abonnement, Livraison garantie, Consommateur sélectif (comme Peek in .Net Messaging).

Autant que je sache, JMS ou .Net Messaging fonctionne sans problème, ils sont uniquement destinés à .Net / Java.

Le système doit me permettre de choisir le mécanisme de transport (sockets, files d'attente de messages, etc.) à utiliser lors de la configuration d'un canal. Je veux être capable à la fois de passer aux machines distantes et d'accélérer les choses avec les moyens de transport locaux.

Si je ne trouve rien qui convienne, je devrai rouler le mien. J'utiliserais probablement les tampons de protocole de Google pour la sérialisation. Si quelqu'un a d'autres recommandations d'options technologiques, éloignez-vous.

Oh, oui, et j'aimerais un cryptage facultatif canal par canal ou par message.

ETA: Merci pour toutes les réponses rapides. Je suis en train de parcourir les docs & amp; propagande maintenant. Quelqu'un a-t-il utilisé les technologies ci-dessous et pour quoi / avec quels résultats?

Était-ce utile?

La solution

activemq

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

Prend en charge tous les protocoles suivants

  • OpenWire
  • REST
  • Stomp
  • Notification WS
  • XMPP
  • AMQP

Merci Paul

Autres conseils

SonicMQ est peut-être l’outil que vous recherchez. Je sais qu'ils sont férus de progrès, mais qu'ils prennent également en charge d'autres alternatives linguistiques et sont un acteur de premier plan dans le secteur de la messagerie.

Sonic Software

Comme Paul l’a mentionné, essayez de ActiveMQ , qui prend en charge de nombreux clients linguistiques et fil protocoles.

BTW ActiveMQ 6.x utilisera probablement les tampons de protocole de Google comme l'un de ses réseaux de transport câblés sous-jacents:)

J'ai utilisé Apache ActiveMQ sur de nombreux projets avec un grand succès. C'est le most populaire et un puissant courtier de messages open source à l’heure actuelle.

Incidemment sur .Net / C #, le projet ActiveMQ a créé la API NMS , qui est une norme. API de communication avec les courtiers de messages sur la plate-forme .Net, désormais intégrée à Spring.Net

Avez-vous envisagé de MPI ?

Vous pouvez utiliser un ESB (Enterprise Service Bus) tel que Mule . L'idée est que vous envoyez vos messages au bus de la manière que vous voulez (JMS, http, email) et que le bus effectue le routage à votre place. Je ne sais pas s’il existe des liaisons .NET, mais même s’il n’y en avait pas, vous pouvez créer la vôtre à l’aide d’un mécanisme d’extension. Bien entendu, cela signifie que vous devez configurer un bus quelque part.

Si vous souhaitez une assistance et une intégration commerciales solides et sans faille, la série MQ d'IBM, maintenant Websphere MQ fournit toutes les fonctionnalités décrites dans vos exigences.

Parfois, vous obtenez ce pour quoi vous payez ...; -)

Si vous souhaitez un "standard" multilingue, - ce qui signifie que vous n'êtes pas lié à l'utilisation d'un courtier / intermédiaire spécifique tel qu'ActiveMQ, SonicMQ ou WebsphereMQ - Je vous suggère fortement de consulter la norme AMQP ( http://www.amqp.org ) et les courtiers apparentés (RabbitMQ, QPid, OpenAMQ; voir http://www.amqp.org/confluence/display/AMQP/AMQP+Products ).

La file d'attente de messages ouverte (Open MQ) est incluse dans le serveur d'applications GlassFish et fonctionne également de manière autonome. -seul. Il démarre dans quelques secondes et prend en charge les clients Java et C. Le support Stomp est actuellement en développement dans la version 4.4.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top