01 · Streaming · Kafka · Quarkus
Stream processor
Subscriber usage in real time, on Kafka Streams
A pipeline that parses raw usage events, de-duplicates redeliveries, aggregates volume per subscriber into event-time windows, raises threshold alerts, and dead-letters anything unusable. The whole topology is tested without a broker.
- Event-time windowing with an explicit grace period — late data lands in the window it belongs to
- Suppression until window close, so consumers get one answer per window instead of a stream of partial ones
- Poison payloads routed to a dead-letter topic rather than killing the stream thread
- 23 tests drive the real topology through TopologyTestDriver — no broker, no Docker, event time controlled to the millisecond
- `docker compose up` and one script runs the whole scenario against a real broker
- Java 21
- Kafka Streams
- Quarkus
- JUnit