- Service Registration And Discovery
- Eureka
- API Gateway
- Spring Cloud Gateway
- API Token Authentication
- JWT
- Circuit Breaker
- Resilience4j
- Spring Cloud Gateway with Resilience4j
- Resilience4j
- Rate Limiter
- Spring Cloud Gateway with Redis
- Cache Server
- Redis
- MQ Server
- RabbitMQ
- Monitoring
- Spring Boot Admin
- Distributed Tracing
- Micrometer Tracing + Zipkin
- Distributed Locking
- Redisson Lock
- Redisson MultiLock
- Distributed Transaction
- Local Message Table with RabbitMQ
- Others
- RedissonClient
- RabbitMQ RPC - Request / Reply Pattern
- AsyncRabbitTemplate
- Spring Cloud OpenFeign
- Spring Boot 3.4.5
- Gradle Docker plugin
- JDK 24
- Gradle 8.14
- Podman &
podman-compose(or Docker &docker cmopose)
Create and run containers (PostgreSQL, RabbitMQ, Redis, Zipkin)
cd scripts
podman-compose up -dOr use docker compose
cd scripts
sudo docker compose up -dBuild and run
eurekaServer,gateway,sbAdminauthServer, spProduct, spUser, spOrder, spPaymentspWeb(web App)
cd scripts
sh run-jars.shRun test classes
cd spTest
gradle clean test --tests TestAllSuitsee test classes in spTest/src/test/java/xyz/defe/sp/test/*
cd scripts
sh run-and-test.shEureka > http://localhost:8761

Zipkin > http://localhost:9411

RabbitMQ > http://localhost:15672

Spring Boot Admin > http://localhost:11000/wallboard

Create Dockerfile
gradle dockerCreateDockerfileIt will create a Dockerfile in ./build/docker/
Build image
gradle dockerBuildImageExecute the command before build image :
systemctl --user restart podmanBefore build image, comment out this line in build.gradle file :
url = 'unix:///run/user/1000/podman/podman.sock'When you get the following error :
Got permission denied while trying to connect to the Docker daemon socket
Add your user to docker group :
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
newgrp dockerThen you can running Docker without sudo, If that doesn't work, try logout or rebooting.



