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
 
 
doc
 
 
 
 
 
 
 
 
 
 

Microservice Sample "Pizzeria"

Architecture

The sample consists of three main pieces:

  • the Pizzeria frontend service, reachable via public Thrift API on port 9090
  • an internal backend PizzaBaker service, which prepares really wonderful Pizza
  • and a Client application which is very hungry and likes Pizza :-)

The fourth project is a shared assembly which contains a few tools (configuration, Cassandra connection) and a configuration file used to set up the backend connections.

Dependencies

To built and run the sample you'll need two things:

Repository structure

General organisation

The repo has branches, one belonging to each part of the article series. The branches are named accordingly and built logically upon each other.

  • Part 1 deals with Docker basics
  • Part 2 introduces Docker Compose and puts the Docker Swarm Mode to use
  • Part 3 moves the service into a (local) Minikube cluster and explores Kubernetes
  • Part 4 brings the service into the cloud (Azure and GKE) and/or runs it in a local cluster

Version 1 - the initial "Teil 1" branch

Introduces the sample code and comes with some example Dockerfiles included.

Changes in version 2 (the "Teil 2" branch)

The internal interface on port 9091 has been removed and control flow has been reverted. The frontend is still controlling the backends. But the work items are now actively requested by the backends, instead of getting them pushed from the frontend to the backends. That latter method just did not scale, because the frontend does not know how many PizzaBakers are actually up and running, and whether they are currently idle or not.

Changes in version 3 (the "Teil 3" branch)

Added a "minikube" folder with four versions of the YAML files discussed in the article. Additionally, the services get readiness and liveness capabilities.

Changes in version 4 (the "Teil 4" branch)

Swiched to HTTP port 80 (although we don't use HTTP). SQL Server has been added as alternative backend, because there is no Cassandra image for Windows containers. Better configuration due to automatic peer service discovery. And lots of small changes, more YAML files, ...

Have fun!

About

Example microservice "Pizzeria" (companion code for the web&mobile article series)

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages