I've created those services in order to show you how implement a micro-service architecture, just a small services with CRUD operations :
The following are list of our services :
- Product Service : Allow us to create and view products.
- Order Service : Allow us to order products.
- Inventory Service : Check if a product is in stock or not.
- Notification Service : Send a notification after creation of order.
- Api Gateway : Redirect calls to appropriate service.
- Discovery Server : Holds the information about all services, every service will register into the Eureka server and it can knows all the applications running on each port and IP address.
Security is configured by Keycloak service and implemented on api-gateway, then all services are protected.
A picture below shows architecture of micro-services :
I've added a docker compose file that groups all services needed, to run application you should do these steps :
- Run
mvn compile jib:build
to build the applications and pull the docker images to your Docker registry. - Run
docker-compose up -d
to start the applications.
Feel free to downaload my code and make any updates.:fire:
NAJIB ✌️