Skip to content

Latest commit

 

History

History
73 lines (63 loc) · 2.03 KB

README.md

File metadata and controls

73 lines (63 loc) · 2.03 KB

This project demonstrate how to leverage Service Mesh Layer in Microservice Architecture.

Build:

  1. Build docker images locally
    ./gradlew clean jibDockerBuild
    or build and push docker images to configured $dockerRepository
    ./gradlew clean jib

Build separate service

./gradlew clean :order-service:jib -x test

Run using docker-compose:

  1. Up and run docker containers with all the business and technical services
    cd docker && docker-compose up -d --scale order-service=2 --scale user-service=2
  2. Test "get orders" endpoint works (request chain: api-gateway -> linkerd -> order-service -> linkerd -> user-service
    curl -v http://localhost:8070/order-service/api/orders

One-liner Run:

./gradlew clean jibDockerBuild && cd docker && docker-compose up -d --remove-orphans --scale order-service=2 --scale user-service=2

Stop:

cd docker && docker-compose stop

Run using Kubernetes cluster

  1. Install order-service

    cd order-service && helm install order-service ./chart

    Uninstall order-service

    cd order-service && helm uninstall order-service
  2. Install user-service

    cd user-service && helm install user-service ./chart

    Uninstall order-service

    cd user-service && helm uninstall user-service
  3. Install all MSA infra

    helm install msa-infra ./msa-infra-chart

    Uninstall all MSA infra

    helm uninstall msa-infra

Project Architecture

ArchitectureDiagram

Service Mesh Demo Presentation

Notes:
Desired name of the dockerRepository should be configured in gradle.properties.

Tags:
Example of Microservice Architecture with Spring Boot, Microservice Architecture with Service Mesh, Service Mesh example Java Kotlin, Service Mesh POC, Linkerd example Java, Linkerd Docker example