microservices-docker-go-mongodb
microservices-docker-go-mongodb copied to clipboard
Example of Microservices in Go with Docker, Kubernetes and MongoDB
Cinema - Example of Microservices in Go with Docker, Kubernetes and MongoDB
Overview
Cinema is an example project which demonstrates the use of microservices for a fictional movie theater. The Cinema backend is powered by 4 microservices, all of which happen to be written in Go, using MongoDB for manage the database and Docker to isolate and deploy the ecosystem.
- Movie Service: Provides information like movie ratings, title, etc.
- Show Times Service: Provides show times information.
- Booking Service: Provides booking information.
- Users Service: Provides movie suggestions for users by communicating with other services.
The Cinema use case is based on the project written in Python by Umer Mansoor.
The project structure is based in the knowledge learned in:
- Golang structure: https://peter.bourgon.org/go-best-practices-2016/#repository-structure
- Book Let's Go: https://lets-go.alexedwards.net/
Container images used support multi-architectures (amd64, arm/v7 and arm64).
Index
- Deployment
- How To Use Cinema Services
- Related Posts
- Significant Revisions
- The big picture
Deployment
The application can be deployed in both environments: local machine or in a kubernetes cluster. You can find the appropriate documentation for each case in the following links:
- local machine (docker compose)
- kubernetes (helm)
- kubernetes (timoni)
How To Use Cinema Services
- endpoints
Related Posts
Significant Revisions
- Microservices - Martin Fowler
- Umer Mansoor - Cinema
- Traefik Proxy Docs
- MongoDB Driver for Golang
- MongoDB Golang Channel
Screenshots
Architecture

Homepage

Users List
