Skip to main content

Rabbitmq配置示例

  1. producer 发送消息到 exchange

  2. exchange 接受消息并且准备将消息根据 routing_key 路由到 queue.

  3. 绑定 queue 和 exchange 根据 binding_key,exchange 将消息路由到 queue

  4. 消息在被 consumer 接收处理之前,一直在 queue 中

  5. consumer 接收处理消息

备注:queue、exchange 和 binding_key 需要手动登录控制台去创建(172.18.89.103:15672) 参考:https://www.section.io/engineering-education/dockerize-a-rabbitmq-instance/

一、PublishAMQP

将 FlowFile 的内容作为消息发送到 Rabbitmq

1. 组件配置

image-20220627095718130

  • 默认仅需要配置上述 6 个属性
  • 其他属性需要时再进行配置

二、ConsumeAMQP

当从 Rabbitmq 接收到消息时,此处理器会生成一个 FlowFile,其中 FlowFile 的内容是 Rabbitmq 消息的值

1. 组件配置

  • 默认需要配置 host、port、queue 和 用户认证相关信息
  • 其他属性需要时再进行配置

三、流程模板

参见:模板文件

四、Docker 搭建 Rabbitmq环境

docker-compose示例

version: '3.2'

networks:
integrated-dev-net:
driver: bridge

services:
# RabbitMQ
rabbit:
image: rabbitmq:3.8-management
hostname: orchsym
networks:
- integrated-dev-net
container_name: "rabbit-bizd"
restart: always
ports:
# AMQP protocol port
- "5672:5672"
# HTTP management UI
- "15672:15672"
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=passw0rd
volumes:
- /data/integrated/rabbitmq:/var/lib/rabbitmq