Real-time and event-driven systems
- Kafka
- WebSockets
- RxJS
- Avro
- Java
- Spring Boot
- Reactive streams
Live data is easy to demonstrate and hard to keep honest. The interesting cases are the ones a demo skips: a consumer that falls behind, a message that arrives twice, a schema that changed while a service was still running the old one.
We build these systems on Kafka for durable event streams, WebSockets for the live edge, reactive streams so backpressure is handled rather than hoped for, and Avro schemas so a producer and a consumer cannot silently disagree about a payload. Java and Spring Boot services on Kubernetes carry the load where a JVM is the right answer.
The result is an interface that updates as events land, and a pipeline whose behaviour under load is a design decision rather than a discovery.