Skip to content
Example for a microservices system based in Kubernetes and the service mesh Istio
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.
microservice-istio-bonus
microservice-istio-demo
spring-boot-microservice Remove unneeded labels in Kubernetes config Mar 21, 2019
.gitignore
HOW-TO-RUN.md
LICENSE
README.md
WIE-LAUFEN.md

README.md

Microservice Istio Sample

Deutsche Anleitung zum Starten des Beispiels

This demo uses Kubernetes as Docker environment. Kubernetes also support service discovery and load balancing. An Apache httpd as a reverse proxy routes the calls to the services.

Also the demo uses Istio for features like monitoring, tracing, fault injection, and circuit breaking.

This project creates a complete micro service demo system in Docker containers. The services are implemented in Java using Spring Boot and Spring Cloud.

It uses three microservices:

  • Order to accept orders.
  • Shipping to ship the orders.
  • Invoicing to ship invoices.

How to run

See How to run.

Remarks on the Code

The microservices are:

The microservices have an Java main application in src/test/java to run them stand alone. microservice-demo-shipping and microservice-demo-invoicing both use a stub for the other order service for the tests.

The data of an order is copied - including the data of the customer and the items. So if a customer or item changes in the order system this does not influence existing shipments and invoices. It would be odd if a change to a price would also change existing invoices. Also only the information needed for the shipment and the invoice are copied over to the other systems.

The job to poll the Atom feed is run every 30 seconds.

You can’t perform that action at this time.