En revisión · 80%
Sector financiero 4 min de lectura · Noviembre 2026
Bitácora: migración de un reporteador bancario a streaming reactivo
Trabajo en curso sobre la modernización de un proceso batch heredado hacia microservicios con streaming por cursores. Se comparte el patrón de arquitectura y las decisiones tomadas, sin exponer datos del cliente ni de producción.
Jakarta EE Oracle SQL Reactive Streams Microservicios
Objetivos Técnicos
- Reemplazar la lectura monolítica del reporteador heredado por un flujo continuo con un único puntero de lectura.
- Reducir el consumo de memoria de la JVM mediante procesamiento por lotes con contrapresión.
- Mantener idempotencia en las transacciones concurrentes durante la migración progresiva.
Decisiones de Arquitectura Tomadas
- › Cursor streaming frente a paginación OFFSET: el cursor mantiene consumo de memoria constante y evita la degradación cuadrática de OFFSET en volúmenes altos.
- › Lotes atómicos independientes frente a una transacción global: ante un fallo solo se reintenta el lote afectado.
- › Ajuste del FetchSize del driver para reducir los viajes de red entre la base de datos y la capa de aplicación.
[ REGISTRO DE CENSURA Y PROTECCIÓN DE DATOS ]
- ✕ Nombre del cliente y de la entidad financiera: censurado.
- ✕ Esquema, tablas, índices y consultas exactas de producción: censurados.
- ✕ Cifras exactas de tiempo, memoria y throughput: expresadas solo como órdenes de magnitud.
- ✕ Fechas internas, responsables y entorno de despliegue: censurados.
Próximos Pasos
- Completar la revisión de idempotencia bajo cargas concurrentes.
- Documentar el patrón de cursor streaming como guía reutilizable, sin datos del cliente.
- Publicar la versión cerrada en Notas de Ingeniería cuando el trabajo deje de estar en curso.
Proyecto Relacionado
Existe un caso de estudio publicado sobre este proyecto:
Ver Migración de Reporteador Bancario & Streaming de Datos →[ NOTA TÉCNICA DETALLADA DISPONIBLE ]
Puedes consultar el desglose completo de arquitectura, código y normativas en el artículo técnico:
Leer Streaming reactivo con Oracle SQL y Jakarta EE: Procesamiento de 1M de registros →