Pregunta

¿Puede alguien explicarme la diferencia entre estos 3 enfoques para procesar mensajes que fallan en la entrega?

  • Servicio de Cola de Envenenamiento
  • Servicio de cola de mensajes no entregados
  • Uso de un servicio de respuesta para manejar fallas

Tengo " Programación de WCF " ;, pero realmente no entiendo cuándo usaría uno de estos sobre otro, o cuándo tendría sentido usar más de uno de ellos. Gracias!

¿Fue útil?

Solución

Muerto y veneno son dos conceptos diferentes. Los mensajes de envenenamiento son mensajes que se pueden leer desde la cola, pero su código no sabe cómo manejarlo, por lo que su código da una excepción. Si esto continúa por algún tiempo, desea que este mensaje se coloque en una cola diferente para que se puedan manejar sus otros mensajes. Un buen enfoque para esto se describe en MSDN .

Una letra muerta es un mensaje que ni siquiera se maneja en la cola. La red está rota o la computadora receptora MSMQ está apagada. Algo como eso. El mensaje se colocará automáticamente en la cola muerta después de un tiempo por Windows. Por lo tanto, es aconsejable escribir un servicio que supervise la cola muerta.

Otros consejos

Las colas de mensajes de veneno / letra muerta se usan para colocar mensajes que se ha determinado que no se pueden entregar en una cola que ya no intentará entregarlos. Haría esto si desea ver manualmente los mensajes fallidos y procesarlos en un momento posterior. Utiliza este tipo de colas cuando desea evitar que los mensajes incorrectos degraden el rendimiento de su sistema volviendo a intentarlo una y otra vez.

Por otro lado, se usaría un servicio de respuesta para notificar al remitente que hubo un error al procesar el mensaje. Por lo general, en este caso no planea procesar manualmente el mensaje incorrecto y necesita dejar que el sistema que envió el mensaje indique que la solicitud ha sido rechazada.

Tenga en cuenta que estos no son exclusivos. Si está utilizando colas, siempre existe la posibilidad de que la serialización del mensaje cambie lo suficiente como para interrumpir los mensajes que están en la cola, en cuyo caso es posible que aún desee tener una cola de mensajes no entregados incluso si está utilizando un servicio de respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top