This module demonstrates the usage of the Kafka Streams DSL print()
and peek()
.
In this module, records of type <String, KafkaUser>
are streamed from two topics named USER_TOPIC
and USER_TOPIC_TWO
.
The following tasks are performed:
- Stream records of type
<String, KafkaUser>
from the topicUSER_TOPIC
and print them to the file/tmp/kafka-streams-quickstarts/streams-print-output.log
. - Stream records of type
<String, KafkaUser>
from the topicUSER_TOPIC_TWO
and print them to the system output.
To compile and run this demo, you will need the following:
- Java 21
- Maven
- Docker
To run the application manually:
- Start a Confluent Platform in a Docker environment.
- Produce records of type
<String, KafkaUser>
to topics namedUSER_TOPIC
andUSER_TOPIC_TWO
. You can use the producer user to do this. - Start the Kafka Streams application.
To run the application in Docker, use the following command:
docker-compose up -d
This command will start the following services in Docker:
- 1 Kafka broker (KRaft mode)
- 1 Schema registry
- 1 Control Center
- 1 producer User
- 1 Kafka Streams Print