This is the solution for highload.fun Auth Server competition
Download test data (users.jsonl, GeoLite2 database, tasks.jsonl) https://highload.fun/files/tc/authserver/data.tgz https://highload.fun/files/tc/authserver/tasks.jsonl.gz and put it to data/ subdirectory like this
➜ hl-auth git:(master) ✗ ls data
COPYRIGHT.txt GeoLite2-City-CSV LICENSE.txt tasks.jsonl users.jsonl
Then run auth server in a docker container
gradle jar
docker build . -t auth
docker run --rm -p 8080:8080 -v "${PWD}/data:/storage/data" -m 8g --cpus=2 -t auth
highload.fun Auth Server competition has a limitation for 2 gigabytes of memory but Java solution is not fit at all. JVM has just so much overhead (JIT, GC, VM)
java -cp build/libs/auth-1.0.jar Tasks
This command runs all tasks from data/tasks.jsonl
file on localhost:8080
server