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
heroesKafka 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:devfrom theavro-serde/avro-serde-publisher. - in the second terminal, run
mvn quarkus:devfrom theavro-serde/avro-serde-consumer.