2010-12-05 77 views
9

Udi mentionne here que «les gens ont échangé la couche MSMQ de NServiceBus et ont branché RabbitMQ à sa place». Je cherche à faire la même chose avec l'objectif final de pouvoir exécuter une application construite avec NServiceBus sur Mono/Linux avec AMQP.Échange de MSMQ pour RabbitMQ dans NServiceBus

Avant de plonger dans si j'aimerais obtenir des commentaires des personnes qui pourraient l'ont déjà fait sur les pièges à éviter, diversions etc.

Par ailleurs, si l'approche est une entreprise de grande envergure, il pourrait être préférable juste utiliser RabbitMQ directement, mais si possible je voudrais rester avec NServiceBus.

+3

RabbitMQ Je pense que vous devriez faire une analyse pro/con de pourquoi vous voulez utiliser NServiceBus contre RabbitMQ. Personnellement, ayant utilisé les deux, je ne sais pas pourquoi vous voudriez utiliser NServiceBus en plus de Rabbit, car Rabbit est une configuration de style courtier qui supprime beaucoup des avantages de décentraliser NServiceBus. – mike

+0

@mrnye - purement parce que nous ne pouvons pas être dépendants de MSMQ, car cette application doit fonctionner sur Mono dans un environnement Linux ainsi que Windows. –

Répondre

4

Vous voudrez peut-être jeter un coup d'œil à https://github.com/machine/machine.mta. Bien que la description du projet parle de MassTransit (un autre bus de service implémenté pour .net), il existe également un transport NServiceBus.

Je suis en train de convertir la mise en œuvre NServiceBus il peut donc être utilisé dans Rhino ServiceBus ..

+0

Merci - c'est un bon début –

6

MassTransit fonctionne RabbitMQ comme transport pris en charge:

ServiceBusFactory.New(sbc => 
{ 
    sbc.UseRabbitMq(); 
    sbc.ReceiveFrom("rabbitmq://localhost/app1") 
}); 

Il suffit de faire install-package masstransit.rabbitmq et assurez-vous de chan gérez votre environnement d'application de console sur '.Net 4.0' au lieu de '.Net 4.0 Client Profile'.

4

NServiceBus 4.0 viendra avec le soutien officiel

+0

J'ai essayé de chercher cela sur le site NServiceBus, mais je n'ai rien trouvé. Avez-vous une référence où je peux suivre les fonctionnalités futures? – Steffe

+2

Le suivi des problèmes est probablement la liste la plus récente - https://github.com/NServiceBus/NServiceBus/issues?milestone=26&state=open –