RabbitMQ的安装及使用

RabbitMQ

RabbitMQ简介

是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。

消息队列:是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。

消息队列的主要作用:异步、解耦、削峰。

https://www.rabbitmq.com/networking.html RabbitMQ的服务文档信息

RabbitMQ的安装

一、Linux环境下

  1. 下载:https://www.rabbitmq.com/download.html
  2. 因为rabbitmq是基于erlang语言开发的,需要安装环境 ,查看环境的版本 https://www.rabbitmq.com/which-erlang.html
  3. erlang的下载 https://www.erlang-solutions.com/downloads/
  4. yum install -y erlang 安装erlang
  5. 安装socat yum install -y socat
  6. 安装rabbitmq yum install -y rabbitmq-serve

常用命令:systemctl start rabbitmq-serve 启动服务

systemctl enable rabbitmq-serve 开机自启动

​ 7.安装图形化界面 rabbitmq-plugins enable rabbitmq_management

​ 8.rabbitmq授权账户和密码 rabbitmqctl add_user {username} {passwd}

​ rabbitmqctl add_user root root123

  1. 设置用户角色 rabbitmqctl set_user_tags {username} {tag}

    ​ rabbitmqctl set_user_tags root administrator

    docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3-management

RabbitMQ的工作模式

直连模式:一个队列只被一个consumer消费

工作模式:一个队列被多个consumer消费 (包括轮训模式(将channel.basicConsume(…, true, …)autoAck设为true)、公平模式(能者多劳,将autoAck设置为false))

发布订阅模式:Fanout,采用广播的机制

路由模式:direct,采用直连的形式

topic模式:可以通过routingkey将消息发送给复合定义的队列。

参数模式:header

RabbitMQ中各个组件

Producer生产消息(消息分为头和体,头中有许多的信息),发送给服务器端的Exchange
Exchange收到消息,根据routing key,将消息转发给匹配的Queue

Exchange与Queue之间是通过binding来进行绑定的

Queue收到消息,将消息发送给订阅者Consumer
Producer收到消息,发送ACK给队列确认收到消息
Queue收到ACK,删除队列中缓存的此条消息

Connection 连接通道

Virtual Host 虚拟主机,表示一批交换器、消息队列和相关对象。虚拟主机是共享相同的身份认证和加密环境的独立服务器域。每个 vhost 本质上就是一个 mini 版的 RabbitMQ 服务器,拥有自己的队列、交换器、绑定和权限机制

Producer、Consumer与代理服务器(RabbitMQ)之间建立的是长链接,并且在连接中开辟出一个个的通道,来进行消息的传递。可以通过一个个的通道来确定某个服务是否还健在。

RabbitMQ的工作流程图

在这里插入图片描述

AMQP协议

即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端中间件不同产品,不同的开发语言等条件的限制,而R

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值