Je recommanderais de rester à l'écart des solutions déroulées à la main, car il y a un tas de choses quelque peu difficiles qui doivent être bien traitées - comme la façon dont les transactions sont gérées, comment les exceptions provoquent des annulations, comment arrêter de revenir en arrière à l'infini (messages empoisonnés), comment s'intégrer à des workflows de longue durée afin que les limites de la gestion des états s'alignent, et plus encore.
Vous voudrez probablement une sorte d'infrastructure de messagerie durable / transactionnelle, donc si vous n'utilisez pas MSMQ, vous vous retrouverez avec Service Broker sur la plate-forme Microsoft, ou une autre alternative comme ActiveMQ. MSMQ a l'avantage d'être déjà installé sur toutes les machines Windows, contrairement à Service Broker qui ne l'est pas.
Pour ce qui est du choix entre NServiceBus, Mass Transit et Rhino Service Bus, cette réponse Stackoverflow comparant NServiceBus à MassTransit serait un bon point de départ.
Dans notre version 3.1, nous présentons NSB Studio - un ensemble d'outils de modélisation intégrés à Visual Studio qui vous permettent de modéliser votre système à un niveau d'abstraction plus élevé et de faire en sorte qu'une grande partie de la configuration et de l'initialisation de NServiceBus soit effectuée automatiquement. Je dirais que cela fait vraiment pencher la balance en faveur de NServiceBus.
J'espère que cela pourra aider.
Avertissement: je suis l'auteur de NServiceBus.
NServiceBus est un bon produit mais méfiez-vous des problèmes de licence. Il a tendance à modifier sa politique de licence comme le souhaitent les auteurs. Jetez un œil par exemple aux anciennes informations de licence.
Il se peut qu'au milieu du développement de votre projet, vous découvriez que vous devez payer beaucoup d'argent pour NServiceBus.
La version gratuite a également des limitations de performances.
MassTransit est un open source absolument gratuit, il n'a pas de limitations et est sous licence Apache 2.0.
Je n'ai pas utilisé Rhino Service Bus .
la source
Une mise à jour de l'état de Rhino vs NServicebus:
http://www.infoq.com/news/2012/04/nservicebus3-0
la source
un inconvénient potentiel de tout ce qui est basé sur MSMQ est la restriction de la taille maximale des messages. IIRC est d'environ 4 Mo, ce que vous pourriez facilement rencontrer si vous traitez de gros fichiers et stockez le contenu du fichier dans le message.
la source