Nous avons besoin d'un système de messagerie/bus de services à architecture distribuée avec la capacité de publier/s'abonner. Quelqu'un a-t-il des recommandations pour un cadre que nous pouvons utiliser pour les applications .net?
NServiceBus gagne en popularité. Il est également open source. Voici un épisode des Hanselminutes avec Scott Hanselman parlant avec Udi Dahan à propos de NServiceBus pour l'aider à le faire. Vous devriez certainement évaluer son utilisation.
MISE À JOUR: Il y a aussi un épisode DNR TV qui montre ce que c'est que de construire une solution NServiceBus à partir de zéro ici: http://www.dnrtv.com/default.aspx?showNum=199
Découvrez masstransit et bus de service rhino aussi. À la fois open source et écrit par des gens très intelligents.
Découvrez RabbitMQ . Le client .NET est complet, et il est assez facile à utiliser. Il existe un livre intitulé RabbitMQ in Action , ainsi que RabbitMQ in Depth qui est disponible dans les éditions à accès anticipé.
Je travaille actuellement sur un bus de service basé sur WCF open source. Vous pouvez le trouver ici: http://rockbus.codeplex.com/ . Il prend en charge les abonnements dynamiques (@ run-time), le référentiel d'abonnements (base de données), les transports enfichables, le routage basé sur le contenu XPath, la livraison transactionnelle via les protocoles wcf, la livraison roundrobin, l'évaluation de l'abonnement enfichable, etc. Regarde!
J'ai trouvé ActiveMQ intégré à Apache NMS incroyablement facile à comprendre, à configurer et transparent.
Par exemple, ActiveMQ est fourni avec une interface Web vous permettant d'utiliser un navigateur Web pour consulter les files d'attente de messages, lire, supprimer et même créer des messages. Vous pouvez donc très facilement commencer à développer et tester un seul côté de votre application distribuée, et le débogage et la surveillance sont très simples.
Il n'y a jusqu'à présent aucune implémentation Service Bus mature dans la pile .NET. Microsoft en développe actuellement un.
http://msdn.Microsoft.com/en-us/library/windowsazure/jj193022 (v = Azure.10) .aspx
En option, vous pouvez en utiliser un de Java world. Par exemple, TIBCO - ils ont des clients .NET assez robustes disponibles, ou OpenMQ.
Si vous n'avez pas besoin d'un large éventail de fonctionnalités et que vous êtes prêt à développer votre propre système - utilisez WCF pour cela. Les rappels WCF sont bien adaptés à cela.
J'ai trouvé Neuron ESB pour être une implémentation solide, même si je ne l'ai pas encore utilisé avec colère.