Una plataforma minorista procesa flujos de trabajo de pedidos de varios pasos. Cada pedido genera una conversación de mensajes relacionados (pedido creado, pago autorizado, artículos reservados) que deben procesarse en orden por OrderId a través de múltiples suscriptores. Cuando un trabajador procesa un mensaje de 'pedido creado', debe enviar atómicamente dos comandos a los servicios posteriores o revertir si el procesamiento falla. Los mensajes "venenosos" deben aislarse sin perderlos. ¿Qué diseño de mensajería debería recomendar?
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Un topic de Azure Service Bus con sesiones habilitadas (sessionId=OrderId); crear suscripciones para cada servicio posterior; usar transacciones de Service Bus para completar el mensaje entrante y enviar los dos mensajes salientes en la misma transacción; depender de la subcola de mensajes fallidos (dead-letter subqueue) en las suscripciones para los mensajes "venenosos"..
Por qué esta es la respuesta
La opción correcta aborda todos los requisitos. Azure Service Bus topics con sesiones (sessionId=OrderId) garantizan el procesamiento ordenado por OrderId. Las transacciones de Service Bus permiten el procesamiento atómico (completar el mensaje entrante y enviar dos mensajes salientes o revertir). La subcola de mensajes fallidos (dead-letter subqueue) de Service Bus aísla automáticamente los mensajes "venenosos" sin perderlos. Las colas de Service Bus sin sesiones no garantizan el ordenamiento por OrderId. Las colas de Azure Storage no ofrecen transacciones atómicas entre la recepción y el envío de mensajes, ni un dead-lettering automático robusto. Event Grid no garantiza el ordenamiento ni ofrece transacciones atómicas. Un topic de Service Bus sin sesiones no asegura el ordenamiento por OrderId, y deshabilitar el dead-lettering es problemático para los mensajes "venenosos".
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta