2011-08-25 37 views
6

He estado buscando en Mass Transit durante un par de meses, y estoy realmente intrigado por las posibilidades. Sin embargo, no soy capaz de entender bien los conceptos. He mirado el código, y yo he pasado por la documentación, pero yo no siento que I "m comprenderlaService Bus - ¿Estoy siendo tonto?

Los ejemplos en general muestran;.

Bus.Initialize(sbc => 
         { 
          sbc.UseMsmq(); 
          sbc.VerifyMsmqConfiguration(); 
          sbc.UseMulticastSubscriptionClient(); 
          sbc.ReceiveFrom("msmq://localhost/myqueue"); 
         }); 

Ahora, entender lo que esto está haciendo, pero no creo que mi cerebro está tomando el concepto más allá de esto esto es lo que entiendo;.

  • los mensajes pueden ser publicados desde el software, y que se registran en el bus de servicios para acción/s a ​​realizar al recibir ese mensaje.
  • El propio servicio de autobuses, se sienta encima de una cola de mensajes (ya sea RabbitMQ o MSMQ en MT)

sólo quiero entender un poco más acerca de esto. No creo que lo obtenga. ¿Necesito un servidor configurado, escuchando? ¿Lo configuro en mi software y luego solo publico los mensajes, los recogen y procesan desde dentro?

Respuesta

4

Primero, obteniendo se inicia con la documentación MassTransit ...

La idea es que usted tiene múltiples sistemas de comunicación. Ahora eso es sólo la mensajería y realmente no requieren MassTrans eso. A habla con B. Cuando comenzamos a hablar de pub/sub, puede volverse más interesante. A publica msg CreateOrder que B está escuchando. Cuando B recibe ese mensaje CreateOrder, puede realizar los pasos necesarios para gestionar un nuevo pedido. Esto deja los servicios desacoplados, el único punto de interacción es un mensaje bastante simple, el CreateOrder.

Ahora la alegría de pub/sub es que A y B van de ida y vuelta por un tiempo, y tenemos C que quiere escuchar en CreateOrder mensajes para que pueda preparar de stock para envío antes de B completa todas sus tareas. Podemos colocar C en el bus, se suscribe al mensaje CreateOrder y ni A ni B necesitan cambiar ningún código. Esto puede hacerse mientras están enviando mensajes activamente de un lado a otro. Necesita actualizar uno de los miembros involucrados? Simplemente detenga ese servicio, coloque el nuevo y reinícielo para que pueda recogerlo donde lo dejó.

Si tiene más preguntas sobre este tema, trataría de acertar en la lista de correo. Me gustaría creer que somos más receptivos cuando podemos. Además, puede golpear a un par de preguntas relacionadas y libros ...

Enterprise Integration Patterns es un gran libro, incluso si se escribió más con Java en mente.

+0

Gracias Travis.Creo que las múltiples formas de usar MT con lo que estaba pensando se estaban interponiendo en mi camino. Espero leer la próxima semana. Gracias. – Hammerstein

Cuestiones relacionadas