- 🎬 Project ID:
1st-BE-team2-VideoStreaming
- 👥 Contributors: Eden Min Kim, SeongHo5356
-
gRPC
를 활용하여 로컬 환경의 동영상 파일을 업로드하고 웹 브라우저에서 재생하는 프로그램 -
Go
언어로 작성 -
웹 브라우저에서 동영상 재생을 확인하기 위해 HTML5, CSS, JavaScript 코드 추가로 작성
-
관리 및 배포를 위해
Docker
,Prometheus
,Grafana
,GKE(Google Kubernetes Engine)
,Terraform
등을 활용
.
├── cmd
│ ├── client
│ │ ├── Dockerfile
│ │ └── main.go
│ └── server
│ ├── Dockerfile
│ └── main.go
├── docker-compose.yaml
├── pkg
│ ├── grpcserver
│ │ └── server.go
│ └── video
│ └── video.go
├── proto
│ ├── streaming_grpc.pb.go
│ ├── streaming.pb.go
│ └── streaming.proto
├── web
│ ├── index.html
│ ├── streaming.js
├── infra
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── prometheus
│ └── prometheus.yml
├── go.mod
├── go.sum
├── deployment.yaml
└── service.yaml
$ go version
go version go1.23.1 linux/amd64
$ protoc --version
libprotoc 28.3
[terminal #1]
$ go run cmd/server/main.go
[terminal #2]
$ go run cmd/client/main.go
→ 🐳Docker
적용 이후
[terminal]
$ docker compose up -d
[web browser] http://localhost:9000/
-
🐳Dockerfile
,🐳docker-compose.yaml
-
☸️deployment.yml
,☸️service.yml
→kubectl
명령어를 통해GKE
에 이식
→helm
을 통해GKE
모니터링 시스템 구축
→Prometheus
와Grafana
를 통해 서비스 모니터링 (메트릭 데이터 수집 및 시각화) -
Terraform
을 통해 서비스 관리