- Kafdrop is a UI for monitoring Apache Kafka clusters
- ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
- Kafka is open-source software that provides a framework for storing, reading, and analyzing a stream of data. Kafka provides three main functions.
- Publish and subscribe to streams of records, similar to a message queue or enterprise messaging system.
- Effectively store streams of records in the order in which records were generated.
- Process streams of records in real-time.
Run in the terminal:
Start docker images:
docker-compose up
Build application:
mvn clean install
Run application:
mvn spring-boot:run
You can access Kafdrop, in http://localhost:9000.
Testing:
curl --location --request POST 'localhost:8080/order/pizza' \
--header 'Content-Type: application/json' \
--data-raw '{
"item": "Pizza de presunto",
"amount": 1,
"crust": "THIN_CRUST",
"toppings": ["CHEESE", "HAM"]
}'
The message are available in topic: http://localhost:9000/topic/topic.pizza.order/messages?partition=0&offset=0&count=100&keyFormat=DEFAULT&format=DEFAULT
For further reference, please consider the following sections:
- Official Apache Maven documentation
- Spring Boot Maven Plugin Reference Guide
- Create an OCI image
- Spring Web
- Spring Boot Actuator
- Spring for Apache Kafka
- Spring Data JPA
The following guides illustrate how to use some features concretely: