KNOWLEDGE / 01
Notas de
ingeniería.
Materiales prácticos sobre desarrollo backend, arquitectura y operación de servicios Go: Kafka, PostgreSQL, límites de servicios y entrega de eventos.
- ARTÍCULO ↗
Sharding de PostgreSQL bajo carga cuando ya no bastan opciones más baratas
Cómo demostrar que hace falta sharding, elegir una clave estable y anticipar el enrutado, las operaciones entre shards y la migración de datos.
- ARTÍCULO ↗
Estados y compensaciones en un orquestador SAGA entre microservicios
Cómo persistir el estado de una SAGA, distinguir un fallo de un resultado desconocido y gestionar compensaciones cuando los comandos se reintentan y las respuestas llegan tarde.
- ARTÍCULO ↗
Evolución de contratos gRPC sin publicar todos los servicios a la vez
Cómo cambiar esquemas protobuf y la semántica de métodos gRPC con releases independientes: campos compatibles, ventana de migración, pruebas de contrato y eliminación segura.
- ARTÍCULO ↗
Observabilidad de un flujo asíncrono desde el consumer lag hasta el invariante de negocio
Cómo conectar métricas de Kafka, outbox, consumer y dominio para distinguir retraso temporal de pérdida de eventos y procesamiento detenido en silencio.
- ARTÍCULO ↗
Integraciones Kafka fiables sin la ilusión de exactly-once
Un modelo práctico de integración con Kafka: outbox transaccional, consumers idempotentes, reintentos, DLQ y métricas que revelan eventos perdidos.
- ARTÍCULO ↗
PostgreSQL bajo carga real: planes, índices y el precio de cada decisión
Cómo relacionar una operación lenta en producción con su plan de consulta, elegir el índice correcto y contar bloqueos, escritura y operación.
- ARTÍCULO ↗
Límites de microservicios que no crean un monolito distribuido
Cómo definir límites por propiedad de datos, invariantes de negocio, dependencias síncronas y capacidad de cambiar de forma independiente.
- ARTÍCULO ↗
Transactional outbox en Go con escritura atómica y reintentos controlados
Cómo unir cambios en PostgreSQL con la publicación en Kafka, sobrevivir a reintentos del relay y tratar at-least-once como una restricción explícita.
- ARTÍCULO ↗
Sincronización offline-first y entrega de eventos con red inestable
Cómo diseñar una cola durable en el dispositivo, recepción idempotente, recibos y conciliación de estado para no perder ni duplicar operaciones.