Sistemas en tiempo real y orientados a eventos
- Kafka
- WebSockets
- RxJS
- Avro
- Java
- Spring Boot
- Reactive streams
Los datos en vivo son fáciles de demostrar y difíciles de mantener honestos. Los casos interesantes son los que una demo se salta: un consumidor que se queda atrás, un mensaje que llega dos veces, un esquema que cambió mientras un servicio seguía ejecutando el anterior.
Construimos estos sistemas sobre Kafka para flujos de eventos duraderos, WebSockets para el borde en vivo, flujos reactivos para que la contrapresión se gestione en vez de esperarse, y esquemas Avro para que un productor y un consumidor no puedan discrepar en silencio sobre un mensaje. Servicios Java y Spring Boot sobre Kubernetes soportan la carga donde la JVM es la respuesta correcta.
El resultado es una interfaz que se actualiza según llegan los eventos y una canalización cuyo comportamiento bajo carga es una decisión de diseño y no un hallazgo.