This module demonstrates the following:
- The usage of the Kafka Clients consumer API.
- The usage of unit tests with a Mock consumer.
This module performs the following tasks:
- Consumes records of type
<String, String>
from a topic namedSTRING_TOPIC
. - Sends the records to a fake external system.
- Implements a strong retry mechanism to handle failures in the external system. If the call to the external system fails, the module retries the operation using the retry mechanism.
To compile and run this demo, you will need the following:
- Java 21
- Maven
- Docker
To run the application manually, please follow the steps below:
- Start a Confluent Platform in a Docker environment.
- Produce records of type
<String, String>
to a topic namedSTRING_TOPIC
. You can use the producer simple to do this. - Start the consumer.
To run the application in Docker, please use the following command:
docker-compose up -d
This command will start the following services in Docker:
- 1 Kafka broker KRaft
- 1 Control Center
- 1 producer Simple
- 1 consumer Retry External System