Skip to content

This repository contains 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.

License

Notifications You must be signed in to change notification settings

tapsi-delivery/kafka-on-the-shore-of-load

Repository files navigation

Kafka Load Testing and Monitoring Project

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.

Prerequisites

  • Java 17 or higher
  • Docker and Docker Compose
  • Gradle

Getting Started

  1. Clone the repository:
git clone [email protected]:tapsi-pack/kafka-on-the-shore-of-load.git
cd kafka-on-the-shore-of-load
  1. Build the project:
./gradlew clean build
  1. Start the services (Kafka, Prometheus, Kafka-Node-Exporter) using Docker Compose:
docker-compose up -d
  1. Run the application:
./gradlew bootRun

Monitoring

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.

Load Testing

You can perform load testing on Kafka using your preferred load testing tool. Ensure to target the Kafka broker running at localhost:9092.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

This repository contains 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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages