Commit Graph

63 Commits

Author SHA1 Message Date
yiyiis
cbfdb73fcb fix: Notification 重连 + Social 修复 + Following 缓存失效
- Notification Worker 加重连循环,Channel 断开不再静默死亡
- Social: 先写 DB 再发 MQ,修复 DB 失败产生幽灵通知的问题
- Social: MQ 发布失败记日志,不再静默忽略
- 关注/取关后失效该用户的 Following Feed 缓存(24h TTL)
- Redis Client 新增 DelByPattern 按模式批量删除缓存
2026-05-23 09:23:47 +08:00
yiyiis
589116b141 fix: Worker 进程独立 Channel + 进程内指数退避重试
- 每个 Worker 消费者使用独立 AMQP Channel,互不影响
- 用 runWorkerWithRetry 包装每个 Worker,断开自动重连
- 用进程内指数退避重试替代失效的 Nack+DLX 重试机制
- 拓扑声明改用临时 Channel,声明完即关闭
2026-05-23 09:23:14 +08:00
yiyiis
33c0bd418c fix: 点赞后失效推荐列表的 video:entity 缓存
UpdatePopularityCache 只失效了 video:detail 缓存,
未失效 feed 使用的 video:entity 缓存(1h TTL),
导致推荐列表 likes_count 长时间显示为旧值
2026-05-23 00:36:02 +08:00
yiyiis
28408606f4 fix: Worker 进程加载 .env 配置
Worker 缺少 godotenv.Load() 导致 CONFIG_PATH 未生效,
始终使用默认 config.yaml(MySQL 3306)而非 compose-local(3307)
2026-05-23 00:35:55 +08:00
yiyiis
d8bca16362 fix: 拆分 RabbitMQ Channel,修复新视频不出现在推荐列表的问题
- RabbitMQ 结构体移除共享 Ch 字段,仅管理 Connection
- 每个MQ组件(Like/Comment/Social/Popularity/Timeline)持有独立 Channel
- Timeline Consumer 使用独立 Channel 并加入自动重连机制
- Redis 操作超时从 50ms 调整为 500ms,避免 NACK 循环
- router.go 中 notification 相关逻辑适配新 API
2026-05-22 23:57:06 +08:00
leonincs
9c00e06b1f fix: 修复构建配置和运行时错误处理 2026-05-20 16:34:46 +08:00
leonincs
732e284369 style: 统一代码格式和行尾 2026-05-20 16:34:19 +08:00
yiyiis
6487f03c4a feat: 实现视频分片上传与断点续传
- 后端:init/upload/status/complete 四个分片上传接口
- 后端:基于 Redis 的上传会话管理,支持断点续传
- 后端:分片 MD5 校验、幂等上传、顺序合并
- 测试:覆盖完整上传流程、断点续传、幂等性、哈希校验、未完成合并、状态查询
- 前端:Vue 3 分片上传组件,支持并发上传与进度展示
2026-05-11 20:49:55 +08:00
zouyiyi
e96bd1ed6d fix: load .env in local development 2026-05-06 21:09:12 +08:00
leonincs
e6f5348278 fix docker go module downloads 2026-04-27 17:37:27 +08:00
leonincs
a45a64c1ff Stabilize docker service startup 2026-04-26 15:49:16 +08:00
Sisyphus
a5452e3d68 fix: AutoMigrate 注册 Tag/VideoTag/Message/Notification 新表 2026-04-25 20:22:03 +08:00
Sisyphus
18245c06bf feat(P3): 私信 + #话题标签 + @提及 完成 2026-04-25 20:10:50 +08:00
Sisyphus
41454de49f feat(P2): SSE 实时消息通知 — 点赞/评论/关注事件推送 + Notification 表 2026-04-25 20:02:27 +08:00
Sisyphus
ec56c73016 feat(P2): 粉丝/关注数 + 用户主页统计 (getProfile/getCounts) 2026-04-25 19:58:16 +08:00
Sisyphus
9b20df4bf3 feat(P1): Account 模型扩展 + 头像上传 + 个人简介 + Refresh Token 机制 2026-04-25 18:49:16 +08:00
Sisyphus
1cadc95863 fix: Social GetAllFollowers/Vloggers + Like ListLikedVideos 加 Limit(200) 防海量数据 2026-04-25 17:45:33 +08:00
Sisyphus
48a7eea0f9 fix: Worker 队列补充 DLX args + GetAllComments 加排序和分页限制 2026-04-25 17:10:55 +08:00
Sisyphus
dd47b48473 refactor(P3): Redis 缓存键版本化 — Client 增加 Key() 方法,默认前缀 v1: 2026-04-25 16:57:02 +08:00
Sisyphus
41ae86f908 refactor(P3): HomeView 拆分为 3 composable + CommentDrawer 组件 (924行→~180行) 2026-04-25 16:48:17 +08:00
Sisyphus
15f86f08ae fix(P2): 修复 import cycle — 将 apierror 移出 internal/http 避免循环依赖 2026-04-25 16:18:57 +08:00
Sisyphus
3613cfe5a3 feat(P3): Docker健康检查 + Worker优雅重启 + 前端错误监控 2026-04-25 16:07:58 +08:00
Sisyphus
025be6dd78 refactor(P2): Handler 错误码精确化 — service 层引入哨兵错误,handler 层用 ClassifyHTTPStatus 分类 2026-04-25 16:03:29 +08:00
Sisyphus
7d02262098 fix(P2): rand.Read错误处理 + JWT随机密钥 + 密码环境变量化 + 前端路由守卫 2026-04-25 15:57:15 +08:00
Sisyphus
9d903ad8e1 feat(P1): MQ Worker 死信队列 — 重试上限3次后 Ack 移入 DLX 2026-04-25 15:54:55 +08:00
Sisyphus
d68a4f3f65 fix(P1): Router Bug 修复 + Video 复合索引 + ListByAuthorID 加 LIMIT 2026-04-25 15:29:47 +08:00
leonincs
458f4f361d fix disabled pprof server handling 2026-04-23 19:05:44 +08:00
leonincs
d7a0e2a6b7 fix feed empty list rendering 2026-04-23 19:05:44 +08:00
0x37
72ce8e8cc9 fix: make rate limit increment atomic 2026-04-21 11:05:06 +01:00
leonincs
33d6816ac6 feat(config):支持 compose 本地配置切换 2026-04-21 15:33:33 +08:00
tangerineyu
e89d5aca5d feat(middleware):为登录与互动接口增加限流中间件 2026-03-27 16:09:01 +08:00
tangerineyu
145bf3fa86 refactor:简化main函数中pprof的关闭调用 2026-03-26 12:17:05 +08:00
tangerineyu
9a0ba45a51 feat(observability): 为 API 和 worker 增加独立 pprof 诊断端口 2026-03-25 19:27:33 +08:00
tangerineyu
21efce6049 feat(config): 本地config文件缺失时使用默认配置 2026-03-24 19:05:06 +08:00
Amnesia
14d8694b2a perf:减少PublishVideo中的数据库查询 2026-03-21 11:19:09 +08:00
Amnesia
05c846c295 fix:修复命名错误 2026-03-14 19:56:31 +08:00
Amnesia
9eed15efd5 fix:处理了边界情况 2026-03-14 18:57:02 +08:00
Amnesia
39243c14d7 fix:修复时间戳转换错误 2026-03-14 10:05:58 +08:00
Amnesia
e3af802784 perf:优化了ListLatest在大规模视频数据下的响应时间 2026-03-13 18:10:46 +08:00
Amnesia
be48ffced5 perf:改变写入逻辑 2026-03-13 16:15:44 +08:00
Amnesia
0ef79f54cb feat:时间线MQ发送端和消费端 2026-03-13 16:07:34 +08:00
Amnesia
7be6e8bdb5 feat:时间线相关rabbitMQ 2026-03-13 16:00:17 +08:00
Amnesia
cf83e11778 feat:完善redis封装 2026-03-13 15:57:36 +08:00
Leon
39645868a2 feat: 为相关业务传入消息队列 2025-12-30 01:27:46 +08:00
Leon
6710db6928 feat: 启动新添加的消息队列 2025-12-30 01:27:21 +08:00
Leon
4a91452fc3 feat: 相关业务的调用 2025-12-30 01:26:38 +08:00
Leon
116724a845 chore: 注释从英文改为中文 2025-12-30 01:26:24 +08:00
Leon
631cb2203f feat: 评论相关rabbitMQ 2025-12-30 01:25:54 +08:00
Leon
475dfbe8da feat: 流行度相关rabbitMQ 2025-12-30 01:25:30 +08:00
Leon
3800373166 feat: 点赞相关rabbitMQ 2025-12-30 01:23:54 +08:00