Roadmap for v2.1
JingYiJun opened this issue · 1 comments
JingYiJun commented
新功能
- 权限管理
- 消息存储
- Floor 已修改字段
- 站内信
- 点赞点踩分离
- 查看用户历史发言、回复
- 锁定帖子,禁止回复
- floor_favorite 添加 created_at 字段(收藏时间),支持根据 created_at 倒序返回结果
- floor 任意楼高度查询
数据库优化
- 联合索引优化 hole 查询性能
- 合理添加 not null 优化索引性能
- 添加 floor.ranking 存储窗口函数结果,提升查询性能
缓存优化
- anonyname 缓存优化 (暂时不做)
- 高回复数的 hole 的 floor 缓存优化 (暂时不做)
- tag 缓存优化
其他优化
- 手动 mention 解析
后端性能优化(长期)
- 使用 pprof 查询性能瓶颈
- 减少 reflect 使用
- 引入对象池 sync.Pool 减少gc带来的内存抖动
- Golang 1.20 之后引入 arena 手动管理内存
细节整理
- tag.id 连续性问题
- tag 个数和长度限制(10个)
- tag 去除 created_at 和 updated_at 的 json serialization
- 模型取消继承
- floor 去除 storey 和 path 字段,添加 reply_to 字段。
- floor 添加 ranking 字段和 (hole_id, ranking) 联合索引,提升查询性能。
-
hole 添加 first_floor_id 和 last_floor_id 字段,提升查询性能。使用 (hole_id, ranking) 联合索引查询,减少一次连表查询。
更好的测试
- 基于 GitHub Actions MySQL虚拟环境的集成测试
- 更多的测试样例,可计算性的覆盖率测试
日志
- ELK架构或者其他时序数据库的搭建(运维部分)
- 管理员操作记录
- 日活、月活
- 用户的浏览记录、搜索记录
Bug修复
- 点赞、取消点赞不返回 floor.mention
JingYiJun commented
马上重构 v3,这个 close 了