D_06 DotnetCore.CAP在项目中的应用
描述
在项目中,DotnetCore.CAP 可以作为分布式事务、消息队列的解决方案,详见官方文档:https://cap.dotnetcore.xyz/,此处不过多的讲解。本文主要讲解官方文档没有说明,但是在实际项目确实必不可少的要点。
消息会被集群中的每个节点都消费的问题?
查询cap的源码可以知道:
(1)cap的重试进行器会每60s会执行检查一次,针对失败或者正在进行中的消息,如果重试次数不超过50次、4分钟之前,则请阅的节点就会查询出来进行发布到订阅调度器中,执行任务。因此针对订阅处理的时间超过4分钟没有成功,那么消息就会被每个集群节点查询出来,就会造成数据重复消费。
针对这个问题需要加入幂等性的进行处理
(2)kafka作为消息队列,如果假如新的组则订阅者会从头消费消息,可以在订阅入口通过时间过滤调无用的消息;
分类:
D 项目实战
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~