Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are
- Highly maintainable and testable
- Loosely coupled
- Independently deployable
- Organized around business capabilities
- Owned by a small team
The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications. It also enables an organization to evolve its technology stack.
Also see : https://microservices.io/
The hexagonal architecture was invented by Alistair Cockburn in an attempt to avoid known structural pitfalls in object-oriented software design, such as undesired dependencies between layers and contamination of user interface code with business logic, and published in 2005.
A timeless goal of sofware engineering has been to separate code that changes frequently from code that is stable.
~ James Coplien / Lean Architecture
We recommend Hexagonal Architecture for those who want to write clean, maintainable, well-defined boundary context, well-tested domain and decoupling business logic from technical code.
Also see : https://leanpub.com/get-your-hands-dirty-on-clean-architecture
- Java 11
- Spring Framework(Spring Boot , Spring Cloud , Spring Data)
- REST-API
- Config-server
- Eureka-server & Eureka-client
- Feign client
- Mongo DB
- Docker
- Lombok
For building and running the application you need:
docker-compose -f "YOUR_LOCATION\docs\docker-compose.yml" up -d
mvn clean install
After that run sequentially:
config-server
eureka-server
customer-service
book-service
order-service
stock-service
statistics-service
https://github.com/mehmetpekdemir/online-books/blob/master/docs/online-books.postman_collection.json