RabbitMQ(一)之初识MQ

一、什么是MQ

标题MQ是Message Queue消息队列的缩写,“消息”是某种数据的载体,“消息队列”是消息在应用之间传输过程中保存消息的一种容器。

二、使用MQ的好处

  1. 保证消息的传递
    如果发送消息时接收者不可用,消息队列会保留消息,直到成功地传递它

  2. 提供异步的通信协议
    消息的发送者将消息发送到消息队列后可以立即返回,不用等待接收者的响应,消息会被保存在队列中,直到接收者取出它

  3. 解耦
    将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不需要做任何修改。

  4. 提速
    缩短业务处理时间,提高处理速度。

  5. 削峰
    减小服务器压力,避免高峰

  6. 广播
    消息只产生一次,可由多个消费者处理。

三、常见的MQ

1.ActivityMQ
ActiveMQ 是Apache出品,能力强劲的开源消息总线。并且是一个完全支持JMS规范的消息中间件。
API非常完善,在高并发的场景下性能有下降,会造成堵塞,消息堆积过多。

2.RocketMQ
阿里系下开源的一款分布式、队列模型的消息中间件。纯java开放,具有高吞吐量,高可用性,适合大规模分布式系统。

3.Kafka
Apache下的一个子项目,使用scala实现的一个高性能分布式Publish/Subscribe消息队列系统。
不支持事务,主要面向高并非高吞吐量,Kafka对数据的重复,丢失,错误没有严格要求,适用于产生大量数据的互联网服务的数据收集业务。

4.RabbitMQ
使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP,STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了Broker架构,核心思想是生产者不会将消息直接发送给队列,消息在发送给客户端时先在中心队列排队。对路由(Routing),负载均衡(Load balance)、数据持久化都有很好的支持。多用于进行企业级的ESB整合。
对数据的一致性、稳定性、可靠性非常好,性能方面比Kafkas稍低。

四、MQ比较

在这里插入图片描述
参考:https://blog.youkuaiyun.com/wqc19920906/article/details/82193316

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值