RabbitMQ

官方地址

安装

//在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,发送消息时带参数,根据参数发给队列

java实现

参考地址

上一篇:分享是一种快乐 - 学习 Elastic Stack 的成长之路


下一篇:SAP UI5 Routing 路由介绍