Overview: Develop consumers and producers in Java

What to expect
In this Apache Kafka tutorial, we will develop an example where one service is a producer, sending song descriptions to the songs-catalog topic, and another service consumes these song descriptions. If you could use a Kafka basics refresher, please see our Kafka 101 learning path.
In a real-world scenario, the consumer would take the songs and process them (i.e., storing them in a graph database such as Neo4j, or an Elasticsearch instance for searching capabilities), but for the sake of simplicity, in this case, the service prints them in the console (Figure 20).
Before continuing this learning path, please verify that you have the following tools installed in your development environment:
- Java JDK 11+
- Git 2.30+
- Maven 3.8.3+
You will need to open four terminal windows to run this example: two terminals for running the services and two for sending requests to the services.