安装
//在centos下安装 首先安装Erlang
wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
rpm erlang-solutions-2.0-1.noarch
yum install -y erlang
//测试是否安装成功
erl -v
//安装socat 安装rabbitMQ所需
yum install -y socat
//安装RabbitMQ 下载地址:https://www.rabbitmq.com/download.html
rpm Uvh rabbitmq-server-3.8.16-1.el8.noarch.rpm
yum install -y rabbitmq-server
//启动服务 如果是阿里云记得开放端口
systemctl start rabbitmq-server
//查看状态
systemctl status rabbitmq-server
//设置开机自启
systemctl enable rabbitmq-server
//安装图形界面
rabbit-plugins enable rabbitmq_management
//新增管理员用户
rabbitmqctl set_user_tags admin administrator
AMQP
Advanced Message Queuing Protocol 高级消息队列协议 基于TCP/IP协议
必有交换机,没有指定就是默认交换机
Virtual Host起到分类作用
教程
四种类型fanout,direct,topic,headers
简单模式
type=fanout生产者推消息,消费者拉消息
工作队列模式Work queues
type=fanout多个队列接收消息,轮询模式(均分),公平分发(按劳多得,需要设置手动应答和qos)
发布与订阅模式Publish/Subscribe
type=fanout生产者推消息时会推给所有绑定了交换机的队列
路由模式Routing
type=direct,在绑定队列时定义一个Routing Key,发布消息时也会带着一个Routing Key,发给Routing Key相同的队列
主题模式Topics
type=topic,自定义Routing Key,可以实现模糊匹配,*代表有且只有一个,#代表无限制
参数模式Headers
type=headers,发送消息时带参数,根据参数发给队列