【RabbitMQ】异步任务

本文探讨了如何使用MQ实现异步任务,重点讲述了RabbitMQ的特点、核心概念以及一个入门Demo。RabbitMQ是一个用Erlang开发的AMQP实现,具备可靠性、灵活路由等特点,支持多种消息队列协议和多语言客户端。文中提到了消息生产者、交换器、队列、消费者等关键概念,以及它们在消息传递过程中的角色。
摘要由CSDN通过智能技术生成

一、前言

     上一篇博客介绍了用线程池实现异步任务。这一篇博客谈一谈用MQ实现异步任务。MQ的产品有灰常多,像什么MSMQ、activeMQ、RocketMQ、RabbitMQ、kafak等。在此之前先谈一谈对消息队列的理解。

二、MQ

       MQ是一种应用程序对应用程序的通讯方法,应用程序通过读写出入队列的消息来进行通信,两者无需建立连接,发布者和消费者无需知道对方的存在。

      MQ是生产者--消费者模型的一个代表,一端往消息队列中不断写入消息,而另一端则可以不断读取或订阅队列中的消息。

      使用场景:

      1、异步处理:在项目中将一些无需及时返回且耗时的操作提取出来,进行异步处理,采用异步处理,将大大节省了服务器的请求响应时间,从而提高了系统的吞吐量。

       2、消息推送

三、RabbitMQ特点

       RabbitMQ是一个由Erlang语言开发的AMQP的开源实现。

       RabbitMQ的特点为:

       1、可靠性

       RabbitMQ提供了多种技术可以让你在性能和可靠性之间进行权衡,如持久性、传输确认、投递确认。

       2、灵活的路由

       在消息进行队列之前,通过Exchange来路由消息。对于典型的路由功能,RabbitMQ已经提供了一些内置的Exchange来实现,针对更复杂的路由功能,可以将多个Exchange绑定在一起,也可以通过插件机制来实现自己的Exchange。

       3、消息集群

        多个RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker。

       4、高可用

       在同一集群中队列可以被镜像到多台机器,使得在部分节点出现问题的情况下,队列仍然可用。

       5、多协议

       RabbitMQ支持多种消息队列协议。

       6、多语言客户端

       支持java、.NET、Ruby等

       7、管理界面

        RabbitMQ提供了一个易用的用户界面,用户可以监控和管理Broker的许多方面。

       8、跟踪机制

        如果消息异常,RabbitMQ提供了消息跟踪机制,使用者可以找出发生了什么。

       9、插件机制</

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值