消息队列
文章平均质量分 92
三木水
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RabbitMq如何实现幂等性
摘要:在分布式系统中,RabbitMQ等消息队列可能因网络抖动、故障导致消息重复投递。实现消息幂等性需由消费者完成,常见方案包括:1)业务逻辑天然幂等(如查询);2)唯一键控制(最推荐),通过数据库唯一约束防止重复;3)状态机控制(适用于订单等有状态业务);4)Redis缓存去重(高性能但可靠性较低)。建议优先采用唯一键方案,可结合多种方法,消息设计需包含全局唯一ID,并养成"先查询后处理"的习惯。本质上,消息队列提供"至少一次"投递保证,而"恰好一次&qu原创 2025-09-04 18:08:03 · 989 阅读 · 0 评论 -
Spring-rabbit使用实战七
Spring AMQP中@RabbitListener监听单队列与多队列的核心区别在于:单队列提供独立的线程处理、错误隔离和优先级设置,适合关键业务;多队列则共享线程和错误处理机制,适合逻辑相同的业务场景。最佳实践建议:高优先级业务采用单队列监听,相关业务使用多队列统一处理,并可通过混合策略优化系统性能。合理选择模式可提升吞吐量30%-50%,同时需配合监控和动态调优实现最佳效果。原创 2025-08-09 11:22:16 · 674 阅读 · 0 评论 -
Spring-rabbit使用实战六
本文提出了一种优雅实现Spring RabbitMQ多交换机多队列绑定的方案。通过配置驱动设计和工厂模式,实现了3个交换机各绑定3个队列的灵活配置。方案包含:1) 使用枚举集中管理交换机、队列和路由键配置;2) 工厂类自动创建交换机和绑定关系;3) 抽象消费者基类统一异常处理;4) 通用生产者服务。该设计具有高扩展性,支持动态添加新交换机和自定义绑定逻辑,同时提供了命名规范、监控增强等最佳实践建议。这种配置驱动的实现方式显著提高了代码复用性,简化了系统维护,适合需要处理多种消息类型的业务场景。原创 2025-08-05 17:00:07 · 739 阅读 · 0 评论 -
Spring-rabbit使用实战五
RabbitMQ交换机核心功能与最佳实践摘要:交换机是RabbitMQ消息路由的核心组件,主要承担消息分发、路由决策、生产消费解耦等功能。根据业务场景可选择Direct(精确路由)、Topic(通配匹配)、Fanout(广播)等类型。建议遵循"业务域优先"原则控制交换机数量(通常≤20个/微服务),避免过度创建导致资源浪费。生产环境需配置持久化、备用交换机和业务隔离,并监控关键指标(消息流入速率、无法路由率等)。通过合理设计交换机结构,在保证系统灵活性的同时降低维护复杂度。原创 2025-07-31 18:16:51 · 641 阅读 · 0 评论 -
Spring-rabbit使用实战四
摘要:Spring RabbitMQ应用中,队列创建数量和消费者线程配置直接影响系统性能。队列数量受RabbitMQ内存、文件描述符和磁盘限制,建议小型应用5-10个,中型10-30个,大型50+个。消费者线程配置需考虑并发数(推荐CPU核心数×2)、最大并发数(初始×4)和预取值(50-200)。关键参数包括concurrency、max-concurrency和prefetch,可通过SimpleMessageListenerContainer定制线程池。生产环境需监控线程利用率、消息积压和处理时延,适原创 2025-07-30 17:40:54 · 736 阅读 · 0 评论 -
Spring-rabbit使用实战三
本文详细介绍了SpringBoot项目中RabbitMQ的完整配置参数,分为六大模块:1)基础连接配置(服务器地址、端口、认证信息等);2)生产者配置(消息确认、重试机制);3)消费者配置(ACK模式、并发控制);4)安全与高级配置(SSL加密、连接池);5)高可靠性场景配置示例;6)重要注意事项(消息可靠性组合、并发优化、死信队列等)。重点推荐生产环境中启用SSL加密、手动ACK、消息重试等机制,并提供了最优参数建议。原创 2025-07-28 11:50:51 · 1146 阅读 · 0 评论 -
Spring-rabbit使用实战二
摘要:本文介绍了如何在SpringBoot项目中通过RabbitMQ实现按业务路由到不同队列的实战方案。采用Direct路由模式,详细说明了交换机、队列的配置绑定关系,以及生产者和消费者的实现方法。关键实现包括:定义DirectExchange和业务队列、使用RoutingKey精确匹配、手动ACK确保可靠性、JSON消息序列化等。还提供了动态路由键管理、死信队列处理异常消息等优化技巧,以及生产环境下的可靠性保障措施。该方案适用于订单处理、日志分级等需要定向分发的业务场景,完整代码结构清晰,可直接集成到项目原创 2025-07-28 11:45:57 · 771 阅读 · 0 评论 -
Spring-rabbit使用实战一
本文系统介绍了Spring-rabbit框架在项目中的应用。作为SpringAMQP的RabbitMQ实现模块,Spring-rabbit通过RabbitTemplate、@RabbitListener等组件简化了消息中间件的使用,支持声明式配置和多种交换机路由策略。文章详细阐述了其核心功能:实现服务解耦、异步处理、流量削峰和可靠性保障,并提供了电商订单处理的典型应用示例,包括依赖配置、队列定义、消息发送与消费实现。此外,还介绍了生产者确认、消费者确认等高级特性,以及SpringCloud中的扩展应用。Sp原创 2025-07-28 11:37:05 · 978 阅读 · 0 评论
分享