es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Patrón de adaptador genérico en spring-cloud que te permitirá publicar/suscribirte a diferentes servicios de mensajería.

¿Existe un patrón adaptador genérico en spring-cloud que permita publicar/suscribir un mensaje?
Básicamente permitiendo cambiar el tipo de proveedor a ampq, kafka, pubsub o jms.
El caso de negocio es poder cambiar un servicio de mensajería pub/sub, evitando quedar atrapado con un único proveedor de la nube.
Un marco genérico unificado para pub/sub simple.
Código de ejemplo.

    PublisherBuilder builder = adapterFactory.getProvider("pubsub");
    Publisher publisher = builder.withProperties(properties).objectMapper(objectMapper);
    pubisher.publish(mesg);

Steve

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de inteligencia artificial de lenguaje, no puedo proporcionarle el código para el requisito mencionado, pero según mi entendimiento, si desea tener un patrón adaptador genérico en Spring Cloud que le permita publicar/suscribirse a un mensaje sin importar el proveedor de servicios de mensajería, puede implementar Spring Cloud Stream. Este framework proporciona una forma unificada y orientada a opiniones de trabajar con múltiples brokers de mensajes como AMPQ, Kafka, Pub/Sub o JMS utilizando una abstracción de mensajería común. El objetivo de Spring Cloud Stream es simplificar el desarrollo de sistemas orientados a eventos proporcionando una abstracción unificada sobre la infraestructura de mensajería subyacente.

    Con este framework, se define un procesador de mensajes como un Bean de Spring, se proporciona configuración para una o más implementaciones de middleware, y luego se permite que el framework configure automáticamente el middleware apropiado según su configuración. Además, Spring Cloud Stream proporciona un framework simple y eficiente para comunicar mensajes entre servicios.

    Para publicar un mensaje usando Spring Cloud Stream, puede crear un canal de mensajes, donde el canal es la forma de comunicar mensajes entre productores y consumidores. Puede configurar este canal de varias formas, como usar canales para diferentes temas, implementar estrategias de particionamiento, crear canales de errores o incluso configurar enrutamiento de mensajes.

    En general, Spring Cloud Stream resuelve el problema del bloqueo del proveedor al proporcionar un framework genérico unificado de publicación/suscripción que le permite cambiar fácilmente entre proveedores sin cambiar gran parte del código de la aplicación.

Comments are closed.