Project for presentation of microservices. It contains modules:
- Configuration service - holds properties for all applications
- Registry service - registers services for further executing
- Order service - stores orders in Elasticsearch
- Customer service - stores customers in Postgresql database
- Dispatcher service - sends business events to queue
- Routing service - one access point for external client, routes requests to services
To clone, build and start application you need:
- Git client
- Java 8
- Maven 3
- Docker (for Windows 'Docker toolbox' is preferable)
Clone project
git clone https://github.com/Rustam-Kadyrov/microservices-spring.git
Build all modules and docker images for them
cd microservices-spring
mvn clean package docker:build
Make sure that VM has enough memory (At least 2048 Mb is recommended). Path Docker virtual machine with command:
docker-machine ssh default "sudo sysctl -w vm.max_map_count=262144"
Run containers:
docker-compose -f docker-compose-infrastructure.yml up -d
docker-compose -f docker-compose-business.yml up -d
Through routing service:
login: elastic
password: changeme
login: guest
password: guest