https://github.com/leocrispindev/streaming-video
https://github.com/leocrispindev/streaming-video
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/leocrispindev/streaming-video
- Owner: leocrispindev
- Created: 2023-03-08T19:21:41.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-13T16:32:51.000Z (almost 3 years ago)
- Last Synced: 2026-01-14T21:53:22.492Z (5 months ago)
- Language: Go
- Size: 35.8 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Video Streaming Project
## Descrição do Projeto
Streaming não é um conceito novo, mas vem crescendo e se tornando cada vez mais presente na vida das pessoas.Foi pensando nisso que decidi criar o meu próprio serviço de streaming, para estudar e entender as etapas desde a solicitação feita pelo cliente, processamento dos dados e entrega para o usuário final, e colocando em prática uma arquitetura que fosse possível escalar e manter uma alta performance.
## ✔️ Técnicas e tecnologias utilizadas
- ``Kotlin``
- ``Java``
- ``Golang``
- ``Golang``
- ``Apache Kafka``
- ``Elasticsearch``
- ``MySql``
- ``WebSocket``
## Arquitetura

Event-driven: Arquitetura orientada a eventos, a comunicação entre os componentes(microserviços) se dá através do envio de eventos(publishers) para um barramento de eventos(Broker), onde os componentes inscritos(consumers) consomem esses eventos.
## Componentes:
- stream-writter: escrita de arquivos
- stream-reader: leitura dos arquivos
- Logcenter: centralizados de logs
- admin-manager: gerenciamento dos arquivos(escrita, leitura, alteração e remoção dos videos)
- content-searcher: busca de vídeos no indexador
- delivery-websocket-server: mantem conexão com o cliente, consome os dados de vídeos e repassa para o cliente.