microservices-starter-java
Microservices Starter Project with Reactive, Reactive DB Driver, Gradle Kotlin DSL, Checkstyle, Coverage, SonarQube, gRPC, EnvoyProxy and Grafana dashboards
Development
logging
log4j2
code analysis
sonar
testing
junit 5
code-coverage
Jacoco
code-style
Google Checkstyle modified to be compatible with 8.30. Method Length, File Length, Cyclomatic Complexity have been added.
load-testing
Gatling
Load test can be run using one of the following two approaches
gradle load-testing:runTest
IDE - com.github.starter.todo.Runner
vulnerability
Install snyk and authenticate for CLI session
npm install -g snyk
snyk auth
Publish results using
snyk monitor --all-sub-projects
grpc
Grpc server for Todo runs on port 8100. Rest Endpoint /todo/ can be made to forward to gRPC using use.grpc
The forwarding of REST request to gRPC is done for illustration purpose.
build docker
A jar for each web engines is packed into the generated docker image. Pass environment variable ENGINE to activate one.
#build
./scripts/pack/builder.sh
#run
docker run -e ENGINE=reactor-netty --cpus 1.0 -m 756m -p 8080:8080 -it starter-java:latest
docker run -e ENGINE=undertow --cpus 1.0 -m 756m -p 8080:8080 -it starter-java:latest