【技术实现步骤摘要】
一种基于RabbitMQ的消息推送方法
本专利技术涉及web消息推送
,特别涉及一种基于RabbitMQ的消息推送方法。
技术介绍
AMQP,即AdvancedMessageQueuingProtocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息队列则是被应用于众多系统中的常用技术,消息队列的异步化和松耦合机制,可以提升系统资源的利用率和系统的可扩展性,同时消息队列自带分布式和容灾特性,从而提升系统性能和容错能力。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑。ConnectionFactory为Connection的制造工厂。Qu ...
【技术保护点】
1.一种基于RabbitMQ的消息推送方法,其特征在于:对消息发送确认机制进行优化处理,具体优化如下:/n第一,消息确认机制/n通过设置触发setReturnCallback回调来防止交换机没找到队列就丢弃消息,通过回调告知用户检查问题;/n第二,定时任务机制/n通过定时任务拉取投递失败的消息,重新投递;/n第三,生产者消费确认机制/n在消费端通过AOP拦截和手动ACK保证多次消费的消费幂等性。/n
【技术特征摘要】
1.一种基于RabbitMQ的消息推送方法,其特征在于:对消息发送确认机制进行优化处理,具体优化如下:
第一,消息确认机制
通过设置触发setReturnCallback回调来防止交换机没找到队列就丢弃消息,通过回调告知用户检查问题;
第二,定时任务机制
通过定时任务拉取投递失败的消息,重新投递;
第三,生产者消费确认机制
在消费端通过AOP拦截和手动ACK保证多次消费的消费幂等性。
2.根据权利要求1所述的基于RabbitMQ的消息推送方法,其特征在于:所述定时任务机制中,通过设置定时任务和重新投递次数来定时拉取投递失败的消息并重新投递消息。
3.根据权利要求2所述的基于RabbitMQ的消息推送方法,其特征在于:所述定时任务机制中,每一条消息都和交换机RoutingKey绑定,所有消息重投共用一个定时任务。
4.根据权利要求1所述的基于RabbitMQ的消息推送方法,其特征在于:所述生产者消费确认机制中,消费者在消费消息时,如果消费者业务逻辑出现程序异常,则开启重试机制,并在底层使用AOP拦截;若消费者没有抛出异常,则自动提交事务。
5.根据权利要求4所述的基于Rabbit...
【专利技术属性】
技术研发人员:刘瑞,魏金雷,杨继伟,徐士强,张咏雪,
申请(专利权)人:山东汇贸电子口岸有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。