refactor(mq): 重构笔记收藏与点赞的MQ消费者实现以提升性能和可靠性
- 使用DefaultMQPushConsumer替代RocketMQListener以支持批量消费 - 实现消息批量处理逻辑,减少数据库交互次数 - 添加内存级操作合并,避免重复操作写入数据库 - 配置流量削峰限流,控制数据库QPS在可接受范围 - 增加重试机制和手动ACK确保消息可靠消费 - 调整MQ主题订阅关系,统一消息流转逻辑 - 新增RocketMQ客户端依赖以支持底层API调 - 优化消费者启动和销毁流程,确保资源正确释放 - 修改Mapper支持批量插入或更新操作 - 调整计数服务消费主题,简化消息链路
This commit is contained in:
@@ -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>
|
||||
Reference in New Issue
Block a user