每周总结
*一、昨日遗留问题跟进
-
**查询性能优化
- 完成Redis缓存性能报告分析,确认缓存命中率达标(≥95%)。
- 修复个别复杂查询未命中索引的问题(如
LIKE '%keyword%'
全表扫描)。
-
并发控制验证
- 根据第6天压力测试结果,优化数据库连接池配置(如调整最大连接数、超时时间)。
- 解决高并发借阅时偶发的“超卖”问题(通过分布式锁或乐观锁)。
二、今日核心开发任务
1. 借阅功能闭环
- 借阅超时处理
- 开发借阅超时自动取消逻辑(如30分钟内未完成借阅则释放资源)。
- 集成消息通知(短信/站内信)提醒用户超时风险。
- 历史记录增强
- 支持按时间范围、图书分类筛选借阅记录。
- 添加导出借阅历史为PDF/Excel功能(依赖POI库)。
2. 权限模块交付
- 动态权限加载
- 实现权限规则热更新,无需重启服务即可生效。
- 开发管理员权限实时生效的测试用例。
- 权限审计日志
- 记录关键权限操作(如角色变更、权限分配)至审计表。
3. 推荐系统升级
- 冷启动问题解决
- 为新用户设计默认推荐策略(如热门图书+随机多样性)。
- 实现基于用户注册信息的粗粒度推荐(如按年龄、专业推荐)。
- A/B测试框架搭建
- 设计实验分组逻辑,对比新旧推荐算法效果(点击率、借阅转化率)。
三、关键技术解决方案
-
分布式事务
- 借阅超时任务改用延时队列(RabbitMQ TTL+死信队列)替代轮询数据库。
- 确保超时处理与借阅成功逻辑的原子性(Saga模式补偿事务)。
-
权限性能优化
- 权限树改用前缀树(Trie)存储,加速权限路径匹配。
- JWT令牌增加权限版本号,避免频繁查询数据库。
-
推荐算法
- 引入协同过滤初步实现(用户-图书矩阵计算相似度)。
- 使用Faiss加速向量相似度计算(适用于大规模用户数据)。
四、测试计划
测试类型 | 重点任务 |
---|---|
单元测试 | 1. 延时队列消息处理逻辑 2. 前缀树权限匹配性能(压测至1000QPS) |
集成测试 | 1. 借阅超时与正常流程冲突场景 2. 权限热更新对在线用户的影响 |
性能测试 | 1. 模拟推荐算法A/B测试的混合请求 2. 分布式锁在高竞争下的吞吐量测试 |
五、系统状态看板
模块 | 完成度 | 测试覆盖率 | 关键进展 |
---|---|---|---|
借阅闭环 | 85% | 75% | 超时逻辑开发中,消息通知已集成 |
权限审计 | 90% | 80% | 审计日志入库完成,查询接口待测试 |
推荐A/B测试 | 60% | 40% | 分组逻辑完成,数据埋点待接入 |
*六、风险与应对
-
风险:延时队列消息堆积导致超时处理延迟
- 应对:监控队列积压情况,动态增加消费者实例(K8s HPA弹性伸缩)。
-
风险:协同过滤算法计算耗时高
- 应对:离线计算用户相似度矩阵,在线部分仅做轻量级排序。
-
风险:权限热更新导致短暂性能抖动
- 应对:灰度发布策略,先对1%用户生效,观察无异常后全量。
七、今日重点
- 交付权限模块核心功能:确保动态权限和审计日志通过验收测试。
- 借阅超时全链路验证:从发起借阅到超时释放资源的完整流程测试。
- 推荐算法A/B测试基线:完成旧算法数据采集,为后续优化提供对比基准。