This project is a Spring Boot application written in Kotlin, which uses Kafka for messaging and MongoDB for data persistence. It is configured for monitoring with Prometheus and Kafka-Node-Exporter, making it suitable for running load tests on Kafka.
- Java 17 or higher
- Docker and Docker Compose
- Gradle
- Clone the repository:
git clone [email protected]:tapsi-pack/kafka-on-the-shore-of-load.git
cd kafka-on-the-shore-of-load
- Build the project:
./gradlew clean build
- Start the services (Kafka, Prometheus, Kafka-Node-Exporter) using Docker Compose:
docker-compose up -d
- Run the application:
./gradlew bootRun
The application is configured to expose metrics at the /metrics
endpoint for Prometheus to scrape. You can access the Prometheus dashboard at http://localhost:9090
.
Kafka-Node-Exporter is also set up for Kafka metrics, which can be accessed at http://localhost:9308/metrics
.
You can perform load testing on Kafka using your preferred load testing tool. Ensure to target the Kafka broker running at localhost:9092
.
This project is licensed under the MIT License - see the LICENSE.md file for details.