Skip to content
Example project how to do microservices using Oat++. Different build configs and monolithization.
C++ CMake Shell Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
book-service
facade
monolith/all-services
user-service
.gitignore
LICENSE
README.md
azure-pipelines.yml
build_all.sh
ci-install-oatpp-modules.sh
diagram.svg
run_all_microservices.sh

README.md

example-microservices Build Status

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

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"}}
You can’t perform that action at this time.