refactor(mq): 重构笔记收藏与点赞的MQ消费者实现以提升性能和可靠性

- 使用DefaultMQPushConsumer替代RocketMQListener以支持批量消费
- 实现消息批量处理逻辑,减少数据库交互次数
- 添加内存级操作合并,避免重复操作写入数据库
- 配置流量削峰限流,控制数据库QPS在可接受范围
- 增加重试机制和手动ACK确保消息可靠消费
- 调整MQ主题订阅关系,统一消息流转逻辑
- 新增RocketMQ客户端依赖以支持底层API调
- 优化消费者启动和销毁流程,确保资源正确释放
- 修改Mapper支持批量插入或更新操作
- 调整计数服务消费主题,简化消息链路
This commit is contained in:
2025-11-06 20:17:00 +08:00
parent a37e76c87c
commit f49d0e6b76
12 changed files with 291 additions and 281 deletions

View File

@@ -31,4 +31,13 @@
and note_id = #{noteId}
and status = 1
</update>
<insert id="batchInsertOrUpdate" parameterType="list">
INSERT INTO t_note_collection (user_id, note_id, status, create_time)
VALUES
<foreach item="item" collection="noteCollectionDOS" separator=",">
(#{item.userId}, #{item.noteId}, #{item.status}, #{item.createTime})
</foreach>
ON DUPLICATE KEY UPDATE status = VALUES(status)
</insert>
</mapper>