美文网首页
RabbitMQ那些事-简介与安装

RabbitMQ那些事-简介与安装

作者: Dane_404 | 来源:发表于2019-11-26 15:48 被阅读0次

消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。而RabbitMQ就是其中的一种。

简介

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

AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。

RabbitMQ 在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:

可靠性(Reliability)
RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。

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

消息集群(Clustering)
多个 RabbitMQ 服务器可以组成一个集群,形成一个逻辑 Broker 。

高可用(Highly Available Queues)
队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用。

多种协议(Multi-protocol)
RabbitMQ 支持多种消息队列协议,比如 STOMP、MQTT 等等。

多语言客户端(Many Clients)
RabbitMQ 几乎支持所有常用语言,比如 Java、.NET、Ruby 等等。

管理界面(Management UI)
RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker 的许多方面。

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

插件机制(Plugin System)
RabbitMQ 提供了许多插件,来从多方面进行扩展,也可以编写自己的插件。

使用场景

应用间的通信方式,说明消息队列是异步的,随着业务的发展,有时候用户一个操作,可能回有一连串的业务功能执行,但某些业务不需要所有都执行完成才响应给客户端。

比如说,点个外卖功能,用户下了单后,业务流程大概是生成订单、减少库存、通知商家、短信通知、送优惠卷等等。如果用户等到所有流程都跑完,并发量一上来,体验肯定不好,所以需要对那些步骤进行拆分,生成订单、减少库存在主线程完成,其他步骤在异步线程完成,这就用到消息队列了。

至于RabbitMQ的优缺点什么的,我不喜欢一上来就研究这个,先用再来体会。

安装

由于 RabbitMQ 是有 Erlang 语言开发的,所以先要安装 Erlang 环境。

由于我是Mac系统,所以使用 HomeBrew 来安装,非常方便,会自动下载 Erlang 等需要依赖的环境,如果卡在Updating Homebrew自行百度解决。

brew install rabbitmq
image.png

安装完成后,进入安装目录,启动RabbitMQ

cd /usr/local/Cellar/rabbitmq/3.7.10/sbin
./rabbitmq‐server ‐detached

默认账号密码都是是guest,也可以通过命令添加用户并修改角色

./rabbitmqctl add_user admin admin
./rabbitmqctl set_user_tags admin administrator

然后访问http://localhost:15672/,用刚刚添加的用户登录就可以了。

image.png

相关文章

网友评论

      本文标题:RabbitMQ那些事-简介与安装

      本文链接:https://www.haomeiwen.com/subject/uwqewctx.html