一、Windows部署RabbitMQ

RabbitMQ官方网站非常详细,以下只是本人学习过程的整理
一、Windows部署RabbitMQ:https://www.cnblogs.com/yangleiyu/p/15539618.html
二、Linux部署RabbitMQ集群:https://www.cnblogs.com/yangleiyu/p/15539698.html
三、.Net Core使用RabbitMQ各种模式:会在后续文章介绍

一、概述 1、RabbitMQ的概念 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)
RabbitMQ服务器是用Erlang语言编写的,Erlang是专门为高并发而生的语言,而集群和故障转移是构建在开发电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库
RabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器
2、RabbitMQ的好处 开源,安全,可靠性高,数据能够保证百分之百的不丢失等等
3、RabbitMq的使用场景 3.1什么时候使用MQ?
1)数据驱动的任务依赖
2)上游不关心多下游执行结果
3)异步返回执行时间长
3.2什么时候不使用MQ?
需要实时关注执行结果 (同步调用)
4、RabbitMQ的几种工作模式 A、简单模式(Simple)
简单的发送与接收
一、Windows部署RabbitMQ
文章图片

B、工作模式(Work)
单发送多接收,一个生产者端,多个消费者端
一、Windows部署RabbitMQ
文章图片

C、发布订阅模式(Publish/Subscribe)
生产者端发送消息,多个消费者同时接收所有的消息
一、Windows部署RabbitMQ
文章图片

D、路由模式(Routing)
生产者按routing key发送消息,不同的消费者端按不同的routing key接收消息
一、Windows部署RabbitMQ
文章图片

E、通配符(或主题)模式(Topics ,按topic发送接收)
生产者端不只按固定的routing key发送消息,而是按字符串“匹配”发送,消费者端同样如此。
符号“#”匹配一个或多个词,符号“*”仅匹配一个词。
一、Windows部署RabbitMQ
文章图片

F、死信队列
一、Windows部署RabbitMQ
文章图片

P发送消息经X1路由到Q1,Q1的消息触发特定情况,自动把消息经X2路由到Q2,C直接消息Q2的消息。
G、延时队列
一、Windows部署RabbitMQ
文章图片

延时队列其实也是配合死信队列一起用。给队列添加消息过时时间(TTL),变成延时队列。
延时队列还可以设置不同的过期时间。
二、Windows安装RabbitMQ 1、下载安装Erlang框架 链接:https://pan.baidu.com/s/1c3SVYLrryojrZ8Pe4W0UOw
提取码:0716
2、设置环境变量 一、Windows部署RabbitMQ
文章图片

3、测试是否安装成功 运行CMD,输入erl
一、Windows部署RabbitMQ
文章图片

4、下载并安装rabbitmq-server 链接:https://pan.baidu.com/s/1zcHIIKTjjIlCNytxQnSn_A
提取码:0716
5、切换目录 cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.16\sbin
一、Windows部署RabbitMQ
文章图片

6、查看状态 rabbitmqctl status
一、Windows部署RabbitMQ
文章图片

7、启动服务 rabbitmq-plugins enable rabbitmq_management
一、Windows部署RabbitMQ
文章图片

8、浏览地址 http://127.0.0.1:15672/,进入管理页面,账户密码都是guest
一、Windows部署RabbitMQ
文章图片


一、Windows部署RabbitMQ
文章图片

9、创建用户 guest账号默认是不支持远程连接的,一般服务都不是在本地,所以需要创建用户。
A、添加用户
一、Windows部署RabbitMQ
文章图片

B、设置权限
一、Windows部署RabbitMQ
文章图片

一、Windows部署RabbitMQ
文章图片

10、常用命令 rabbitmqctl list_connections##查看当前连接
rabbitmqctl list_queues##列出所有队列
rabbitmqctl status##查看当前队列信息
【一、Windows部署RabbitMQ】命令设置权限: rabbitmqctl set_permissions -p "/" kiba "." "." ".*"

    推荐阅读