This repository contains three variants of the same system:
- A variant using JSON to encode the Kafka records
- A variant using Avro to encode the Kafka records
- A variant using a custom (and dumb) protocol to encode the Kafka records
The system is composed of two applications:
- A publisher writing Heroes into the
heroes
Kafka topic. - A consumer consuming these Heroes and sending them to a web page.
Run mvn install
from the root.
Select a variant and open two terminals.
In the first one, go to the publisher module of the variant and run mvn quarkus:dev
.
In the second one, go to the consumer module of the variant and run mvn quarkus:dev
.
For example, to run the Avro variant:
- in the first terminal, run
mvn quarkus:dev
from theavro-serde/avro-serde-publisher
. - in the second terminal, run
mvn quarkus:dev
from theavro-serde/avro-serde-consumer
.