Skip to content

LeoninCS/GCFeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GCFeed

GCFeed 是一个面向短视频场景的 Feed 系统工程。项目用 Go API 单体、React Web 客户端、MySQL、Redis 和 RabbitMQ 承载内容供给、分发、消费、互动和治理链路。

当前状态

已实现能力:

  • 后端分层结构:Domain、Application、Infrastructure、Interfaces。
  • Gin HTTP 服务入口和 REST API 路由。
  • MySQL + GORM 持久化。
  • JWT 登录态。
  • Redis Feed 缓存、热榜和互动计数。
  • RabbitMQ 异步互动落库、视频发布事件和向量任务。
  • React + Vite Web 客户端。
  • 消息中心和播放优化接入。
  • API 流程测试和 Web 生产构建。
  • Prometheus 指标和 Grafana 监控面板。

重点待补能力:

  • 审核后台。
  • 后台运营。
  • 系统治理。

快速启动

Docker Compose

前置依赖:

  • Docker
  • Docker Compose

启动:

cd apps
docker compose up --build

后台启动:

cd apps
docker compose up -d --build

查看日志:

cd apps
docker compose logs -f api web

停止:

cd apps
docker compose down

清理数据库、Redis 和上传文件数据卷:

cd apps
docker compose down -v

服务地址:

服务 地址
Web http://127.0.0.1:5173
API 健康检查 http://127.0.0.1:8080/health
API 指标 http://127.0.0.1:8080/metrics
MySQL 127.0.0.1:3307
Redis 127.0.0.1:6379
RabbitMQ 管理台 http://127.0.0.1:15672
Prometheus http://127.0.0.1:9090
Grafana 面板 http://127.0.0.1:3000/d/gcfeed-overview/gcfeed-overview

本地开发

./scripts/start.sh

默认地址:

服务 地址
Web http://127.0.0.1:5173
API http://127.0.0.1:8080

验证与指标

自动化测试

后端测试:

cd apps/api
go test ./...

前端生产构建:

npm --prefix apps/web run build

Compose 配置校验:

cd apps
docker compose config

Feed 压测

详细步骤见 docs/performance-testing.md,包括最新流、热门榜单、推荐流、极限 QPS 和 Grafana 指标解读。

重点查看 http_reqs 后面的 /shttp_req_duration p(95)http_req_failedfeed_success_rate

监控面板

Docker Compose 会启动 Prometheus 和 Grafana:

cd apps
docker compose up -d --build

Grafana 默认账号密码:

admin / admin

内置面板:GCFeed / GCFeed Overview

http://127.0.0.1:3000/d/gcfeed-overview/gcfeed-overview

面板覆盖 API QPS、5xx 错误率、API P95、Feed P95、Feed 缓存命中率、上传处理耗时和 Worker 成功率。

Prometheus 抓取目标:

  • gcfeed-apiapi:8080/metrics
  • gcfeed-workerworker:9091/metrics

文档地图

文档 用途
docs/product.md 产品范围、模块地图、P0/P1 功能清单
docs/quickread.md 新读者代码阅读路线
docs/architecture.md 系统架构、分层、核心链路、数据模型
docs/engineering.md 工程规范、目录规则、API 风格、测试约定
docs/optimization.md Feed 性能和稳定性专题
docs/performance-testing.md k6 压测、QPS/P95 解读、Grafana 指标观察
docs/uiux.md Web 客户端 UI/UX 规格
docs/modules/ 各业务模块设计
openspec/ OpenSpec 项目基线和变更规格

开发方式

新增功能优先按 OpenSpec 建 change,再按工程规范实现:

openspec list
openspec validate --all --strict

新增后端模块时参考 docs/engineering.md 的分层模板和 docs/modules/README.md 的模块规格入口。

About

GoClubFeed,更为全面完整的视频Feed流系统项目。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors