Fluent Brighter: Cómo Configurar Postgres

Configura Fluent Brighter con PostgreSQL para habilitar outbox, inbox y un gateway de mensajería en producción, con publicaciones, suscripciones y exactly-once.

7 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

En artículos previos sobre Fluent Brighter y sobre la migración del outbox de Postgres a la versión 10 se mostró la integración con RabbitMQ. En esta ocasión te explico paso a paso cómo configurar Postgres para habilitar outbox, inbox y el gateway de mensajería utilizando Fluent Brighter, manteniendo una configuración clara y coherente para entornos de producción.

Requisitos

Necesitarás .NET 8 o netstandard2.0 y los paquetes NuGet siguientes: Fluent.Brighter.Postgres para la integración con Postgres y Paramore.Brighter.ServiceActivator.Extensions.Hosting para ejecutar el Service Activator y orquestar tareas en segundo plano. Con esto tendrás la base para procesar mensajes de forma fiable y transaccional.

Fundamentos de Brighter

Solicitudes comandos y eventos En Brighter defines mensajes como solicitudes. Un comando se dirige a un único consumidor, por ejemplo para procesar un pedido. Un evento notifica a varios interesados, como el caso de pedido confirmado para disparar flujos de notificación o analítica. Esta separación te ayuda a mantener bajo acoplamiento y alta cohesión.

Mapeador de mensajes El mapeador traduce entre tus objetos de dominio y el mensaje que se serializa. Por defecto se usa JSON, pero puedes registrar un mapeador personalizado para controlar cabeceras, metadatos y el contrato del mensaje.

Manejadores de solicitudes Un manejador procesa cada mensaje entrante y aplica la lógica de negocio. Es habitual registrar logs, validar datos y, si corresponde, publicar nuevos eventos tras completar la transacción de negocio.

Configuración de Fluent Brighter con Postgres

Registro en el contenedor Agrega Fluent Brighter en tu contenedor de inyección de dependencias y prepara las secciones de productores y suscripciones. A partir de ahí defines las piezas de Postgres sin repetir la conexión en cada bloque.

1 Registrar suscripciones Crea suscripciones Postgres con AddPostgresSubscription. Define la cola o tópico por evento, el tipo de bomba de mensajes recomendable usar Reactor para maximizar throughput y la política de reintentos. Por ejemplo, puedes escuchar la cola greeting.queue y otra cola farewell.queue, cada una con su handler.

2 Registrar publicaciones Declara publicaciones con AddPostgresPublication para seleccionar qué eventos se enrutan a qué colas. Un patrón frecuente es publicar eventos de dominio como greeting.event.topic y mapearlos a colas específicas por servicio consumidor.

3 Configurar outbox Activa UsePostgresOutbox para garantizar entrega fiable exactly once con la transacción de tu base de datos. Combínalo con UseDbTransactionOutboxArchive para archivar mensajes procesados y UseOutboxSweeper para barrer y enviar mensajes pendientes en segundo plano. Este patrón evita pérdidas cuando el broker no está disponible y mantiene consistencia entre tu estado y los mensajes.

4 Configurar inbox Con UsePostgresInbox habilitas idempotencia y persistencia de mensajes entrantes. El inbox registra cuál mensaje ya fue procesado evitando duplicados tras reintentos o fallos, clave para lograr procesamiento al menos una vez sin efectos colaterales.

5 Configuración unificada con UsingPostgres Para simplificar, usa UsingPostgres y define la conexión una sola vez. Dentro de ese bloque: establece la cadena de conexión, el nombre de la tabla de outbox, activa UseInbox y UseOutbox, registra tus publicaciones por tipo y crea suscripciones con su cola, concurrencia y tipo de bomba de mensajes. Un ejemplo típico es publicar GreetingEvent hacia greeting.queue y FarewellEvent hacia farewell.queue, y suscribirte a ambas con Reactor para consumir de forma eficiente.

Buenas prácticas Crea migraciones para las tablas de outbox e inbox con índices por id de mensaje y estado. Configura un archivado periódico o TTL para mantener las tablas ligeras. Ajusta la concurrencia de los consumidores según la carga y monitoriza métricas de latencia, tamaño de lote y reintentos. Si usas RabbitMQ como transporte, revisa la durabilidad de colas y confirma publicaciones para evitar pérdidas.

Cómo encaja esto en soluciones reales En proyectos de software a medida y aplicaciones a medida, este enfoque con outbox e inbox aporta fiabilidad empresarial y trazabilidad end to end. Si vas a desplegar en la nube, la arquitectura se integra perfectamente con servicios cloud aws y azure y facilita la observabilidad y el escalado horizontal del Service Activator.

Q2BSTUDIO es tu socio tecnológico para diseñar e implementar estas arquitecturas con estándares de calidad y seguridad. Desarrollamos software a medida, impulsamos proyectos de inteligencia artificial e ia para empresas con agentes IA y analítica avanzada, reforzamos ciberseguridad y pentesting, y habilitamos servicios inteligencia de negocio con power bi. Descubre cómo transformamos tu plataforma con nuestro enfoque integral en desarrollo de aplicaciones y software a medida y lleva tu backend a entornos elásticos y seguros con nuestros servicios cloud aws y azure.

Conclusión Con Fluent Brighter y Postgres puedes implementar outbox, inbox y un gateway de mensajería confiable de forma sencilla y extensible. La configuración unificada con UsingPostgres reduce fricción y evita duplicar parámetros, manteniendo flexibilidad para escenarios complejos de publicación y suscripción. Si quieres ver un ejemplo completo en ejecución, revisa la implementacion completa en GitHub en este repositorio. Integra estas prácticas en tu plataforma para ganar resiliencia, trazabilidad y escalabilidad desde el primer día.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat