Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
env
 
 
src
 
 
 
 
 
 
 
 

Screenshot of the Web Frontend

Micro-service Intercommunication Demo

Docker   Docker   Build and push Docker images   Quality Gate Status

This is a small demo project to quickly setup a mix of containerized micro-services that communicate with each other within the network. This demo is intended to provide a playground for orchestrators!

The project consists of

  • An API Backend, written in .NET Core, exposes port 8080
  • A Web Frontend, written in Angular, exposes port 8080

Make it run

Prerequisites

The easiest way to run and debug the microservices on you development machine is Visual Studio Code. Just open the folder and select one of the Debug configurations.

Screenshot of Visual Studio Code

Environment variables

You need to set some environment variables to configure the services and their discovery.

MicroCommunication.Api:

  • ApiKey=test123 Optional: The key, that the API allows for authorization
  • MongoDbConnectionString=mongo://... Optional: The connection string for a Mongo DB to store the history in
  • RedisCacheConnectionString=... Optional: The connection string for a Redis Cache to sync SignalR Hubs
  • ApplicationInsightsInstrumentationKey=... Optional: The Azure Application Insights Instrumentation Key
  • Cors Optional: The domain of your web app to add to the CORS

MicroCommunication.Web:

  • API_URL=http://localhost:8080 Where to find the API
  • API_KEY=test123 Which key to use when calling the API
  • APPLICATION_INSIGHTS_INSTRUMENTATION_KEY=... Optional: The Azure Application Insights Instrumentation Key

Deploy

This Demo project is intended to be tested within container orchestrators. For the various different orchestrators out there, you can find configuration files for multiple different ones in the repository.

Kubernetes

kubectl create -f env/kubernetes/microcommunication.yaml

GitOps with Flux

helm repo add fluxcd https://charts.fluxcd.io

helm upgrade -i flux fluxcd/flux \
  --set git.url=https://github.com/robinmanuelthiel/microcommunication.git \
  --set git.path=env/kubernetes \
  --set git.readonly=true \
  --namespace flux

Docker Compose

docker-compose -f env/docker-compose/docker-compose.yaml up

Service Fabric Mesh

az mesh deployment create --resource-group Demo --template-file env/servicefabric-mesh/servicefabric-mesh.json

About

A Demo project for micro-service intercommunication

Resources

License

Releases

No releases published

Packages

No packages published