Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/capcom6-learning/go-tube
https://github.com/capcom6-learning/go-tube
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/capcom6-learning/go-tube
- Owner: capcom6-learning
- License: apache-2.0
- Created: 2021-11-25T02:03:48.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-02T01:01:13.000Z (6 months ago)
- Last Synced: 2024-11-20T16:59:45.415Z (about 2 months ago)
- Language: Go
- Size: 29.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history/.air.toml
- License: LICENSE
Awesome Lists containing this project
README
# GoTube
Example project from ["Bootstrapping Microservices with Docker, Kubernetes, and Terraform"](https://www.manning.com/books/bootstrapping-microservices-with-docker-kubernetes-and-terraform) book.
Based on Go + Fiber.
## Microservices
At this moment (incomplete) project consists of 5 microservices, database and message broker:
1. Video streaming service. Gets video id from query param, search for video path in *database*, get video stream from *video storage* service and returns to client.
2. Video storage service. Uses Azure Blob storage for videos storage and returns stream by path for *video streaming* service.
3. History service. Receives "viewed" events from *video streaming* service by post request and puts it into *database*.
4. MongoDB for storing data.
5. RabbitMQ for indirect communication.
6. Recommendation service. Receives "viewed" events from *video streaming* by RabbitMQ and simply logs them.
7. Metadata service. Provides video metadata info.## Requirements
* docker
* docker-compose### Optional
* make
## How to start?
Use `make up` and `make down` to start and stop containers.
Use `make dev` for development with support of live reload by `air`.
## See also
* NodeJS + Express version: https://github.com/capcom6/node-tube
* Python + Flask version: https://github.com/capcom6/py-tube