WIT — Distributed Calculator
KafkaDockerMicroservicesREST API
Take-home technical assessment completed during an interview process with WIT. Not employment.
Overview
A distributed calculator system built as a WIT interview challenge. Operations are dispatched as messages through Kafka, processed by independent microservices, and results are returned asynchronously.
Architecture
- API Gateway — REST endpoint that accepts calculation requests and publishes to Kafka topics
- Worker services — independent consumers per operation type (add, subtract, multiply, divide), each running in its own container
- Kafka — message broker decoupling the API from the workers, enabling horizontal scaling of any operation independently
- Docker Compose — full stack definition: Zookeeper, Kafka broker, API, and all workers
Why Kafka
The brief explicitly asked for async messaging. Kafka was the natural fit: durable log, consumer groups for scaling, and easy local setup via Docker. The architecture makes it trivial to add new operations without touching existing services.