The goal of this application is parse a web server access log file, load the log to MySQL and check if a given IP makes more than a certain number of requests for the given duration.
This application was built on Spring Boot and deployed on Docker Compose.
- Access application root directory
- Execute run-all.sh file
Submit a request using any HTTP client, as curl for example:
curl -v -X POST -H "Content-Type: application/json" 'http://localhost:9000/api/v1/analyze' -d '{"startDate":"2017-01-01.13:00:00", "duration":"DAILY", "threshold":250}'
Load test performed using a file with 116.484 rows.
Ubuntu 18.04.1 LTS
CPU i5-7600K 16GB RAM
- Gradle 4.10.2
- Java Open JDK 1.8.0_191
- Spring Boot 1.5.18.RELEASE
- Docker 18.09.0
- Docker Compose 1.23.1
- MySQL 8.0.13
- HikariCP 3.2.0
- Unix Based OS
- Java >= 8
- Gradle >= 4.0
- Docker >= 18.06.0
- Docker Compose >= 1.22.0
Apache License, Version 2.0, January 2004.