Nous utilisons ActiveMQ 5.2 comme implémentation de notre choix et nous l'avons choisi il y a quelque temps. Il fonctionne assez bien pour notre utilisation en ce moment. Depuis un certain temps, je me demandais quelles autres implémentations Java Message Service sont utilisées et pourquoi? Il y en a sûrement plus que quelques-unes.
Avant de plonger dans JMS, considérez également l'AMQP - pourrait être une nouvelle norme. Fournisseurs JMS avec lesquels j'ai travaillé (à des degrés divers):
TIBCO EMS - très rapide et robuste, bon support API, Java amical, API C natif existe. Le meilleur choix commercial que j'ai utilisé.
Websphere MQ (et son implémentation JMS) - oui, oui. Pub/sub pas exactement rapide, de nombreuses options et choix de configurations sont "étranges" et trop complexes à cause de la longue histoire de ce produit. Il suffit de regarder la quantité de documentation ...
Solace JMS - très haut débit (le courtier JMS est intégré dans le matériel!), Bon choix de protocoles de connexion (MQTT, AMQP, XML sur http comme protocoles d'administration)
Fiorano MQ - utilisé pour être agressif dans le marketing, mais a perdu beaucoup de parts de marché, des problèmes de maturité
Sonic MQ - produit solide, prend également en charge une API C
Active MQ - si vous souhaitez utiliser un produit open-source (support peu coûteux, grande communauté, produits complémentaires limités, fonctionnalités d'entreprise limitées), c'est probablement votre meilleur choix. Fonctionne prêt à l'emploi et est l'épine dorsale de plusieurs outils comme Apache Camel, par exemple.
Nous comptons sur AMQ (5.1) via le framework Camel, et il n'y a eu aucun problème. L'AMQ 4 était un peu plus louche.
Fournisseur JMS WebLogic lors de l'utilisation de WebLogic. Fonctionne très bien.
TIBCO EMS . Il s'agit d'un service de messagerie commercial avec Java/JMS, C, .net et d'autres liaisons pour cela.
OpenMQ open source de Sun ( https://mq.dev.Java.net/ ). Vous pouvez obtenir une assistance gratuite et payante pour la même chose.
Voir cet article de blog sur une comparaison avec ActiveMQ, etc. - http://alexismp.wordpress.com/2008/06/06/openmq-the-untold-story/ .
J'ai entendu dire que OpenMQ est plus stable.
ActiveMQ est plus flexible. comme dans, vous pouvez l'utiliser avec plus de langues. Il y a probablement plus de personnes sur la liste de diffusion d'ActiveMQ qu'OpenMQ.
Dans l'un des projets récents dans lesquels j'étais, nous avons utilisé Sonic MQ . Bonne implémentation globale avec de bonnes liaisons avec .NET.
Nous avons eu quelques problèmes d'évolutivité, mais je dois admettre que les exigences d'évolutivité étaient très strictes: si je me souviens bien, quelque chose comme 20 000 mess par seconde sans aucun délai autorisé entre les 200 clients différents (chaque client devait recevoir chaque message en même temps).
J'ai utilisé JBossMQ, qui est fourni avec le serveur d'applications JBoss jusqu'à la version 4, et qui est solide mais limité. JBoss Messaging était le remplacement, est livré avec JBossAS 5 et constitue une énorme amélioration.
ActiveMQ j'ai une véritable aversion pour. Les développeurs semblent avoir opté pour des performances et des fonctionnalités au détriment de la stabilité, et c'est incroyablement buggé. Étant donné que c'est le tissu JMS pour Geronimo, je m'inquiète.
IBM WebSphere MQ 5 et 6 Active MQ 5.2.0
Consultez également Micro QueueManager à http://codingjunky.com/page5/page4/page4.html Il est petit, facile à installer et à utiliser pour les petits projets.
Nous utilisons SonicMQ, JBossMQ et le "micro courtier" de Lotus Expeditor Integrator. Nous les utilisons à différentes fins:
-JBossMQ est utilisé en interne et pour communiquer à partir de toutes nos applications Java EE qui fonctionnent sur JBoss. -Lotus Expeditor est utilisé dans des "sites distants" où nous n'avons que des ressources limitées et du personnel informatique - SonicMQ est notre épine dorsale de messagerie, nous l'utilisons pour connecter des systèmes centraux, mais aussi pour connecter des systèmes distants sur environ 1000 sites.
Nous avons de bonnes expériences avec chacun d'eux, mais notre expérience est aussi qu'avec un environnement plus complexe, vous devez faire une administration plus active du système de messagerie. Cela est devenu particulièrement vrai avec SonicMQ sur notre site :-). Du point de vue des performances, nous avons fait les meilleures expériences avec SonicMQ, en particulier dans la messagerie persistante basée sur la file d'attente.
J'utilise ActiveMQ en production depuis quelques années, mais je n'ai jamais été satisfait de sa stabilité (en particulier avec sa mise en cluster). Jamais regardé en arrière après le passage à OpenMQ. Vous voudrez peut-être examiner RabbitMQ ou ZeroMQ.