RabbitMq学习笔记

RabbitMq学习笔记

Erlang安装

https://www.erlang-solutions.com/downloads/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#运行Package Cloud提供的RabbitMQ Server快速安装脚本
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

#运行Package Cloud提供Erlang环境快速安装脚本
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

#使用yum安装Erlang环境
yum -y install erlang

#安装socat, logrotate依赖
yum install socat logrotate -y

#使用yum安装RabbitMQ Server
yum install -y rabbitmq-server

为什么Rabbitmq是基于channel发送消息而不是基 于连接?

因为连接需要三次握手和四次挥手,会很慢

消息模式

所有的模式队列与交换机一定要建立绑定关系,如果没有指明交换机,会走一个默认的交换机,默认交换机是direct模式

1. 简单模式

默认交换机

img

2. 工作队列模式

默认交换机

  • 轮训模式,轮训分发,可以自动ack,但是建议使用手动ack
  • 公平分发,能者多劳,必须手动ack

img

3. 发布订阅模式 fanout

需要指定交换机

img

4. Routing模式(Direct模式)

需要指定交换机和路由key

img

5. Topic模式

需要指定交换机和路由key

img

‘#’ : 匹配一个或多个词

‘*’ : 匹配不多不少恰好1个词

item.# :能够匹配 item.insert.abc 或者 item.insert

item.* :只能匹配 item.insert

6. RPC模式

img

交换机类型

direct

fanout

topic

headers


RabbitMq学习笔记
http://example.com/2023/03/10/Middleware/MessageQueue/RabbitMq学习笔记/
作者
UncleBryan
发布于
2023年3月10日
许可协议