POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Fluent Brighter: Cómo Configurar PostgreSQL

Guía paso a paso: Configurar PostgreSQL con Fluent Brighter en .NET para outbox, inbox y gateway de mensajería

Publicado el 07/09/2025

En artículos anteriores expliqué cómo integrar RabbitMQ con Fluent Brighter; en esta ocasión te muestro paso a paso cómo configurar PostgreSQL para habilitar outbox, inbox y el gateway de mensajería con Fluent Brighter en .NET, de forma segura, consistente y preparada para producción.

Requisitos: .NET 8 o netstandard2.0. Paquetes NuGet necesarios: Fluent.Brighter.Postgres para la integración con PostgreSQL y Paramore.Brighter.ServiceActivator.Extensions.Hosting para alojar el Service Activator y ejecutar procesos en segundo plano.

Fundamentos de Brighter en breve. Requests: los comandos se dirigen a un único destinatario y los eventos notifican a múltiples consumidores. Message Mapper: opcional si usas JSON por defecto, permite mapear entre mensajes Brighter y objetos de dominio. Request Handler: es la clase que procesa el mensaje y contiene tu lógica de negocio, donde podrás registrar logs, aplicar validaciones o publicar eventos derivados.

Configurar PostgreSQL con Fluent.Brighter. Comienza registrando AddFluentBrighter en tu contenedor DI; a partir de ahí defines suscripciones, publicaciones y los stores de inbox y outbox en PostgreSQL.

Suscripciones en PostgreSQL. Define AddPostgresSubscription para cada evento o comando que vayas a consumir. Asigna la cola o tópico, el tipo de message pump y la conexión a la base de datos. Si además integras otros transportes, crea el channel factory correspondiente y combina ambos enfoques sin perder la persistencia de inbox.

Publicaciones en PostgreSQL. Con AddPostgresPublication describes cómo se publican los mensajes salientes y en qué cola o tópico se encolarán. Esta capa trabaja con el outbox para garantizar entrega al menos una vez y reintentos controlados.

Outbox con PostgreSQL. Activa UsePostgresOutbox para persistir los mensajes salientes dentro de la misma transacción de tu caso de uso. Añade UseDbTransactionOutboxArchive para coordinar la transacción con tu base de datos de negocio y UseOutboxSweeper para barrer y reenviar mensajes pendientes o atascados. El ServiceActivatorHostedService es el proceso que extrae y publica desde el outbox.

Inbox con PostgreSQL. Habilita UsePostgresInbox para registrar los mensajes entrantes procesados y conseguir idempotencia; si tu handler es reejecutado, el inbox evita duplicados con claves de deduplicación basadas en el id del mensaje.

Configuración unificada. Con UsingPostgres defines una sola vez la cadena de conexión, nombre de tablas como el outbox, y habilitas UseInbox, UseOutbox, UsePublications y UseSubscriptions. En publicaciones puedes añadir varios eventos, por ejemplo GreetingEvent y FarewellEvent con sus respectivas colas, y en suscripciones asignar MessagePumpType Reactor para maximizar throughput y latencia baja.

Buenas prácticas. Usa transacciones por solicitud para consolidar cambios de dominio y escritura en outbox. Asegura claves y políticas de retención en las tablas de inbox y outbox. Ajusta intervalos del sweeper y políticas de reintento según el volumen. Controla la serialización y el mapeo si necesitas compatibilidad hacia atrás. Monitoriza métricas de procesamiento y latencias. Automatiza migraciones de esquema y activa el pooling de conexiones en el proveedor de PostgreSQL para optimizar recursos.

En Q2BSTUDIO llevamos estas arquitecturas a producción combinando patrones de mensajería, diseño orientado a dominio y pipelines resilientes. Si necesitas integrar mensajería confiable con Fluent Brighter y PostgreSQL dentro de un ecosistema de aplicaciones a medida, nuestro equipo puede ayudarte con arquitectura, desarrollo, despliegue y observabilidad de extremo a extremo. Descubre cómo aceleramos proyectos de desarrollo de software a medida con calidad empresarial, IA para empresas y automatización.

Nuestros servicios abarcan software a medida, aplicaciones a medida, inteligencia artificial, agentes IA, ciberseguridad, pentesting, servicios cloud AWS y Azure, servicios inteligencia de negocio, power bi, y automatización de procesos. Si tu siguiente fase pasa por modelos de machine learning, copilotos y asistentes, consulta nuestros servicios de inteligencia artificial para integrarlos de forma segura y escalable con tus flujos de mensajería.

Conclusión. Fluent Brighter con PostgreSQL te permite implementar outbox e inbox transaccionales, publicaciones y suscripciones unificadas, y un gateway robusto de mensajería con muy poca fricción. La configuración UsingPostgres simplifica el arranque y mantiene la flexibilidad para escenarios avanzados, garantizando consistencia, resiliencia e idempotencia en tus procesos distribuídos.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio