example-microservices
example-microservices copied to clipboard
Example project how to do microservices using Oat++. Different build configs and monolithization.
example-microservices 
This is an example project on how to build microservices with Oat++ Web Framework, and how to utilize the Monolithization feature.
See more:
Note
For more information about this example, see the Monolithization article.
Inside This Repository
|- user-service/ // User-Service source code
|- book-service/ // Book-Service source code
|- facade/ // Facade source code
|- monolith/all-services/ // Monolithic config to build all services as a Monolith
|- build_all.sh // Utility script. Build all services
|- run_all_microservices.sh // Utility script. Run all services as separate applications
Build And Run
Pre Requirements
- Install the oatpp
- Install the oatpp-swagger
Build all
$ ./build_all.sh
Run as microservices
$ ./run_all_microservices.sh
Run as monolith
$ ./monolith/all-services/build/all-services-exe
Overview
Facade takes book info from book-service, user info from user-service, merges data, and returns to the client.
Service ports
- Facade - 8000
- User - 8001
- Book - 8002
Example curl
$ curl http://localhost:8000/books/4
{"id": 4, "title": "1984", "author": {"id": 4, "name": "George Orwell"}}