node-red:使用node-red-contrib-amqp节点,实现与RabbitMQ服务器(AMQP)的消息传递

news2025/6/12 18:48:30


node-red-contrib-amqp节点使用

  • 一、简介
    • 1.1 什么是AMQP协议?
    • 1.2 什么是RabbitMQ? -> 开源的AMQP协议实现
    • 1.3 RabbitMQ的WEB管理界面介绍
    • 1.3 如何实现RabbitMQ的数据采集? -> node-red
  • 二、node-red-contrib-amqp节点安装与使用教程
    • 2.1 节点安装
    • 2.2 节点使用
      • 2.2.1 amqp-broker节点
      • 2.2.2 amqp-in节点
      • 2.2.3 amqp-in-manual-ack节点
      • 2.2.4 amqp-out节点

1

回到目录

一、简介

1.1 什么是AMQP协议?

  AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。
  AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。
1

详细内容参考链接:RabbitMQ系列四 AMQP协议介绍

回到目录

1.2 什么是RabbitMQ? -> 开源的AMQP协议实现

  RabbitMQ是一个开源的AMQP协议实现,是在AMQP基础上完整的,可复用的企业消息系统。学习参考链接如下:

  • rabbitMQ官网
  • RabbitMQ 详解:环境搭建教程

1.3 RabbitMQ的WEB管理界面介绍

一、总界面
1

  1. connections:无论生产者还是消费者,都需要与RabbirMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况。
  2. channels:通道,建立连接后,会形成通道,以消息的投递获取以来通道。
  3. Excahnges:较平缓及,用来实现消息的路由。
  4. Queues:队列,即消息队列,消息存放在队列中,等待小品非,消费后被移除队列。

二、获取AMQP协议端口
2
三、查看交换机和路由
3

回到目录

1.3 如何实现RabbitMQ的数据采集? -> node-red

   使用node-red的node-red-contrib-amqp节点,连接到RabbitMQ服务器(AMQP),以使用路由键从某个主题获取一些消息,实现客户端与消息中间件数据的传递。

二、node-red-contrib-amqp节点安装与使用教程

2.1 节点安装

1
  node-red安装节点@meowwolf/node-red-contrib-amqp ,基于AMQP协议,实现客户端与消息中间件数据的传递。

回到目录

2.2 节点使用

2.2.1 amqp-broker节点

   amqp-broker节点是指“AMQP消息代理器”,对应一个RabbitMQ实例,是一种中间件,用于接收、存储和转发消息。

这里的端口查看,请转至上节《1.3 RabbitMQ的WEB管理界面介绍》

1

2.2.2 amqp-in节点

1
  该节点能连接到AMQP代理并获取消息,已msg.payload的形式输出,输出格式如下:
1
节点使用说明如下:
1
其中Exchange Info(交换信息)需要根据RabbitMQ中的实际情况进行配置:

  • type:指的是AMQP的消息路由方式,定义了消息如何从一个发送到AMQP消息代理(broker)的交换机(exchange)路由到一个或多个队列。有topic、direct、fanout和headers四种类型。

以下是这四种类型的简要说明:

  1. Topic Exchange
  • 灵活性最强的一种路由方式。它使用通配符来匹配消息的routing key,并支持模糊匹配和精确匹配。
  • 允许发送者指定routing key,并在其中使用通配符(如“*”和“#”)来表示模式。接收者可以通过绑定与这些模式匹配的routing key来接收消息。
  1. Direct Exchange:
  • 最简单的路由方式。它根据消息的routing key进行精确匹配,将消息路由到与该key完全匹配的队列。
  • 发送者和接收者需要就消息的routing key达成一致,以确保消息能够正确路由。
  1. Fanout Exchange
  • 将收到的所有消息广播到与该交换机绑定的所有队列。它不关心消息的routing key,只是简单地将消息分发给所有连接的队列。
  • 适用于需要将消息发送给多个接收者的场景,例如发布-订阅模型。
  1. Headers Exchange
  • 根据消息头的属性进行路由。发送者可以在消息头中设置一组键值对,而接收者可以绑定特定的键值对来接收消息。
  • 提供了比routing key更复杂的匹配逻辑,但性能通常较差,因此在实际应用中较少使用。
  • Exchange Name :交换机名称
  • RoutingName: 指定一个RoutingKey(路由key),将队列与交换机的绑定

使用示例如下:
1
msg.payload输出示例如下:
1
回到目录

2.2.3 amqp-in-manual-ack节点

1
  该节点实现连接到AMQP代理,接收消息,并手动确认收到。与上节amqp-in节点使用及作用相同,不同的地方在于本节点在接收到消息时,要手动确认收到
  此节点默认将 noAck 设置为 false。您必须通过节点输入发送消息来手动确认或拒绝接收。任何未确认的消息将在客户端关闭或重新启动后重新排队。如果您不需要像这样手动确认消息,请使用 amqp-in 节点。有关如何使用此节点的更多信息,请参阅导入库中的示例流。
回到目录

2.2.4 amqp-out节点

1
  连接到AMQP代理并发送消息。
3
回到目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1330494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tsconfig.app.json文件报红:Option ‘importsNotUsedAsValues‘ is deprecated...

在创建vue3 vite ts项目时的 tsconfig.json(或者tsconfig.app.json) 配置文件经常会报一个这样的错误: 爆红: Option ‘importsNotUsedAsValues’ is deprecated and will stop functioning in TypeScript 5.5. Specify compi…

干货:教你如何在JMeter中调用Python代码N种方法!

在性能测试领域,Jmeter已经成为测试专业人士的首选工具,用于模拟用户行为、测量响应时间、评估系统性能。而现在大部分接口都会涉及到验签、签名、加密等操作,为了满足特定需求,我们需要更多的灵活性,比如引入Python来…

推荐算法架构7:特征工程(吊打面试官,史上最全!)

系列文章,请多关注 推荐算法架构1:召回 推荐算法架构2:粗排 推荐算法架构3:精排 推荐算法架构4:重排 推荐算法架构5:全链路专项优化 推荐算法架构6:数据样本 推荐算法架构7:特…

QTNet:Query-based Temporal Fusion with Explicit Motion for 3D Object Detection

参考代码:QTNet 动机和出发点 自动驾驶中时序信息对感知性能具有较大影响,如在感知稳定性维度上。对于常见的时序融合多是在feature的维度上做,这个维度的融合主要分为如下两个方案: 1)BEV-based方案:将之…

信号与线性系统翻转课堂笔记7——信号正交与傅里叶级数

信号与线性系统翻转课堂笔记7——信号正交与傅里叶级数 The Flipped Classroom7 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、要点 (1,重点&a…

2023年京东各行业年度数据报告-2023全年度空调十大热门品牌销量(销额)榜单

空调市场如今已经进入存量时代,加之消费市场的低迷,因此,2023年空调市场的整体销售下滑。 根据鲸参谋的统计数据,2023年度,京东平台上空调市场的总销量将近1400万,同比下滑约17%;销售额为410亿&…

CVE-2023-46604 Apache ActiveMQ RCE漏洞

一、Apache ActiveMQ简介 Apache ActiveMQ是一个开源的、功能强大的消息代理(Message Broker),由 Apache Software Foundation 所提供。ActiveMQ 支持 Java Message Service(JMS)1.1 和 2.0规范,提供了一个…

金蝶云星空打开应用报错‘D:\WorkSpace\XXXX\XXXX_k3Cloud‘ is already locked.

文章目录 金蝶云星空打开应用报错D:\WorkSpace\XXXX\XXXX_k3Cloud is already locked.报错界面报错内容原因分析解决方案工作空间下清除项目Clean up应用下-清除SVN锁定 重新打开应用就可以了 金蝶云星空打开应用报错’D:\WorkSpace\XXXX\XXXX_k3Cloud’ is already locked. 报…

多相机系统通用视觉 SLAM 框架的设计与评估

Design and Evaluation of a Generic Visual SLAM Framework for Multi-Camera Systems PDF https://arxiv.org/abs/2210.07315 Code https://github.com/neufieldrobotics/MultiCamSLAM Data https://tinyurl.com/mwfkrj8k 程序设置 主要目标是开发一个与摄像头系统配置无关…

渲染控制之条件渲染

目录 1、使用规则 2、更新机制 3、使用if进行条件渲染 4、if ... else ...语句和子组件状态 5、嵌套if语句 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和else if渲染对应状态下的UI内容。 1、使用规则 支持if、else和else if语句…

网络技术基础与计算思维实验教程_2.3_单交换机VLAN配置实验

2.3.1 实验内容 2.3.2实验目的 实验的目的一是验证交换机 VLAN 配置过程; 二是验证属于同一 VLAN的终端之间的通信过程; 三是验证每一个 VLAN 为独立的广播域; 四是验证属于不同 VLAN的两个终端之间不能通信; 五是验证转发项和 VLAN的对应关系。 2.3.3实验原理 默认情况下,交换…

Spring IoCDI

文章目录 前言什么是Spring1. 什么是 IoC 容器1.1 什么是容器1.2 什么是 IoC 2. 什么是DI IoC & DI 的使用IoC详解Bean的存储Controller注解如何获取Bean1. 根据Bean的名称获取Bean2. 根据Bean类型获取Bean3. 根据Bean名和Bean类型获取Bean Service注解Repository注解Compo…

less 查看文本时,提示may be a binary file.See it anyway?

解决办法 首先使用echo $LESSCHARSET查看less的编码 看情况设置less的编码格式(我的服务器上使用utf-8查看中文) 还要特别注意一下,Linux中存在的文本文件的编码一定要是utf - 8;(这一步很关键) 例如:要保证windows上传到Linux的…

Ubuntu 常用命令之 ps 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 ps命令是Linux下的一个非常重要的命令,它用于查看系统中的进程状态。ps是Process Status的缩写,可以显示系统中当前运行的进程的状态。 以下是一些常用的参数 a:显示所有进程(包括…

【3D Max】入门

文章目录 概述界面介绍常用功能保存和导入基本建模编辑模型材质和贴图光源和阴影动画制作渲染设置导出和打印来源 概述 3 ds MAX是由 Discreet (后来被 Autodesk (Autodesk)合并)开发的一款基于 PC系统的3 d Max或3 ds MAX三维动画绘制和制作软件,其主要功能有建模…

选择谷歌SEO公司时怎么避开套路型公司?

选择谷歌SEO公司时,如何避开套路型公司是一个至关重要的话题。在当今数字化时代,优化网站以获得搜索引擎排名的重要性越发凸显,而选择一家信誉良好、专业的SEO公司将对企业的发展产生深远影响。然而,市场上存在许多套路型公司&…

java开发需要掌握的TypeScript相关的知识点,细致简洁版。

Typescript: 介绍: TypeScript(简称 TS)是JavaScript的超集(继承了JS全部语法),TypeScript Type JavaScript。 简单说,就是在JS的基础上,为JS添加了类型支持。是微软开…

构建创新学习体验:企业培训系统技术深度解析

企业培训系统在现代企业中发挥着越来越重要的作用,它不仅仅是传统培训的延伸,更是技术创新的结晶。本文将深入探讨企业培训系统的关键技术特点,并通过一些简单的代码示例,展示如何在实际项目中应用这些技术。 1. 前端技术&#…

springboot集成websocket全全全!!!

一、界面展示 二、前置了解 1.什么是websocket WebSocket是一种在单个TCP连接上进行全双工通信的持久化协议。 全双工协议就是客户端可以给我们服务器发数据 服务器也可以主动给客户端发数据。 2.为什么有了http协议 还要websocket 协议 http协议是一种无状态,非…

基于SpringBoot的APK检测管理系统 JAVA简易版

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 开放平台模块2.3 软件档案模块2.4 软件检测模块2.5 软件举报模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 开放平台表3.2.2 软件档案表3.2.3 软件检测表3.2.4 软件举报表 四、系统展示五、核心代…