Example project that demonstrates how to build Kafka-based microservices with Scala and ZIO.
The system is built as a multi-module Bleep project.
Modules:
- Kafka module is used to provide an in-memory instance of Kafka, so before starting other services, make sure that Kafka is running.
- Protocol module contains messages and its JSON codecs that are used to communicate between microservices.
- Producer module is used to simulate incoming messages that are sent to Kafka.
- Processor module is responsible for consuming, enriching, and producing those enriched messages to the new Kafka topic.