Skip to content

Example how to build Microservice Architecture with a Service Mesh layer

Notifications You must be signed in to change notification settings

andrii-minchekov/servicemesh-in-microservices

Repository files navigation

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

About

Example how to build Microservice Architecture with a Service Mesh layer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published