Microservices Example

Github Repository

This is an example project on how to build microservices with Oat++ Web Framework, and how to utilize the Monolithization feature.

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

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"}}