RabbitMQ


RabbitMQ

入门及安装

RabbitMQ官网:https://www.rabbitmq.com/

Erlang下载:https://www.erlang-solutions.com/downloads/

查看RabbitMQ对应哪个Erlang:https://www.rabbitmq.com/which-erlang.html

1
2
3
4
5
6
7
8
9
10
rpm -Uvh erlang-solutions-2.0-1.noarch.rpm #解压Erlang
yum install erlang #安装Erlang
erl -v #查看Erlang版本号
yum install -y socat #安装socat
rpm -Uvh rabbitmq-xxxxxxx.rpm #解压Rabbitmq
yum install -y rabbitmq-server #安装Rabbitmq
systemctl start rabbitmq-server #启动Rabbitm
systemctl status rabbitmq-server #查看Rabbitmq状态
systemctl enable rabbitmq-server #设置开机自启
systemctl stop rabbitmq-server #停止Rabbitmq

Web界面

默认没有安装web端的客户端插件,需要安装

1
rabbitmq-plugins enable rabbitmq_management

默认账户的guest/guest只能在本地访问

添加账户

1
2
rabbitmqctl add_user admin admin #新增用户
rabbitmqctl set_user_tags admin administrator #设置用户操作权限

Docker安装Rabbitmq

1
2
docker pull rabbitmq:management
docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management #运行容器

快速入门案例

https://www.rabbitmq.com/getstarted.html

AMQP

生产者

  1. 建立连接
  2. 开启通道
  3. 发送消息
  4. 释放资源

消费者

  1. 建立连接
  2. 开启信道
  3. 准备接收消息
  4. Broker推送消息
  5. 发送确认
  6. 释放资源

模式

简单模式

https://www.bilibili.com/video/BV1dX4y1V73G?p=15&spm_id_from=pageDriver

Fanout模式

https://www.bilibili.com/video/BV1dX4y1V73G?p=16&spm_id_from=pageDriver

Direct模式

https://www.bilibili.com/video/BV1dX4y1V73G?p=17&spm_id_from=pageDriver

Topic模式

https://www.bilibili.com/video/BV1dX4y1V73G?p=18&spm_id_from=pageDriver

Headers模式

https://www.bilibili.com/video/BV1dX4y1V73G?p=19&spm_id_from=pageDriver

Work轮询模式

https://www.bilibili.com/video/BV1dX4y1V73G?p=24&spm_id_from=pageDriver

Work公平分发

https://www.bilibili.com/video/BV1dX4y1V73G?p=25&spm_id_from=pageDriver

RabbitMQ使用场景

https://www.bilibili.com/video/BV1dX4y1V73G?p=26&spm_id_from=pageDriver

高级

过期时间TTL

表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。Rabbitmq可以对消息和队列设置TTL

死信队列DLX

死信交换机/死信邮箱。当消息在一个队列中变成死信之后,它能被重新发送到另一个交换机汇总,这个交换机就是DLX,绑定DLX的队列就称之为死信队列。消息变成死信,可能是由于一下的原因:

  • 消息被拒绝
  • 消息过期
  • 队列达到最大长度

内存磁盘的监控

集群

集群的Web监控


文章作者: ZDogEgg
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZDogEgg !