消息队列专题(进阶篇):RabbitMQ 介绍与环境搭建

本文深入介绍了消息队列中间件 RabbitMQ,讲解了其作为 AMQP 实现的优势,包括遵循协议、强大的社区支持和优秀的性能。详细阐述了 RabbitMQ 的工作原理,如 Exchange 的四种类型,以及消息生产者、消费者和队列的角色。此外,还提供了详细的环境搭建步骤,包括 Erlang 的下载和配置,以及 RabbitMQ 的安装和启动。
摘要由CSDN通过智能技术生成

之前写过一篇博客简单介绍了消息队列的基础知识,当时立下了 Flag,说好下次会专门介绍 RabbitMQ,说到做到,前来填坑。

消息队列入门基础篇博客链接如下:
https://blog.csdn.net/j1231230/article/details/119180550


什么是 RabbitMQ

RabbitMQ 是实现了高级消息队列协议(AMQP)的面向消息的中间件。RabbitMQ 服务器使用 Erlang 语言编写,是一种应用程序之间的通信方法,在分布式系统开发中应用非常广泛。

上面提到了高级消息队列协议(AMQP),它的介绍如下:

AMQP 是一个具有现代特征的二进制协议,也是一个提供统一消息服务的应用层标准高层消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

AMQP 和 JMS

MQ 作为消息通信的模型,目前有两种主流实现方式:AMQPJMS

两者间的区别和联系:

  • JMS 是通过定义统一的接口来对消息进行统一操作;AMQP是通过规定协议来统一数据交互的格式;

  • JMS 限定了必须使用 Java 语言;AMQP 只是协议,不规定实现方式,因此是跨语言的;

  • JMS 规定了两种消息模型;而 AMQP 的消息模型更加丰富;

通过比较可以发现,AMQP 的统一数据交互格式更加优雅,支持跨语言,同时还支持更丰富的消息模型,所以 RabbitMQ 采用 AMQP 的实现方式也是很合理的。


RabbitMQ 的优势(为什么选择 RabbitMQ)

发展前景角度:

  • 有商业化的运营,不会轻易死掉;
  • 遵循 AMQP 协议,不会被绑架;
  • 强大的社区支持,为技术进步提供动力;
  • 大量成功的应用案例,例如阿里、网易等互联网巨头都有使用;

技术角度:

  • Erlang 开发,是 AMQP 的最佳搭档,在支持持久化的消息队列中性能相对优秀;
  • 支持消息持久化、消息确认机制、灵活的任务分发机制等,功能丰富;
  • 可靠性高;
  • 集群扩展容易,并且可以通过增加节点实现成倍的性能提升;

RabbitMQ 的工作原理

RabbitMQ 的基本结构如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盛夏温暖流年

可以赏个鸡腿吃嘛~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值