• 【EMQX】3.14 - 1 规则引擎 -- 简介


    1. 功能介绍

            EMQX 提供了基于 SQL 语法的规则,用于对消息或事件进行处理和转换,比如

    • 转换数据类型、编码
    • 解码消息
    • 条件分支判断等

            规则是内置于 EMQX 的,没有消息序列化和网络传输的开销,所以运行非常高效

    注意:

    • 免费版:支持 MQTT 桥接 和 Webhook
    • 企业版:支持 MQTT 桥接 和 Webhook +  外部数据系统(数据库 + 消息中间件

    1.1 什么是数据桥接

    • Webhook ,EMQX 向 HTTP 服务发送消息的通道
    • MQTT 桥接, EMQX 与其他 MQTT 服务通讯的通道
    • 外部数据库, 如 MySQL、MongoDB 等
    • 消息中间件,如 Kafka,RabbitMQ 等

    总结:

    • 开源版需要自己搭建EMQ client 模块来监听数据上报的消息,并保存到mongdb等数据库中

    2. 规则的组成

    规则描述了 数据来源、数据处理过程、处理结果去向 三个方面:

    • 数据来源:消息或事件或外部数据系统。
    • 数据处理过程:通过 SQL 语句和函数来描述数据的处理过程。
    • 处理结果去向:定义一个或多个动作来处理 SQL 的输出结果。如果 SQL 执行通过,规则将按顺序执行相应的动作,比如将处理结果存储到数据库、或者重新发布到另一个 MQTT 主题等。

    3. 规则的典型应用场景举例

    • 动作监听:智慧家庭智能门锁开发中,门锁会因为网络、电源故障、人为破坏等原因离线导致功能异常,使用规则配置监听离线事件向应用服务推送该故障信息,可以在接入层实现第一时间的故障检测的能力;
    • 数据筛选:车联网的卡车车队管理,车辆传感器采集并上报了大量运行数据,应用平台仅关注车速大于 40 km/h 时的数据,此场景下可以使用规则对消息进行条件过滤,向业务消息队列写入满足条件的数据;
    • 消息路由:智能计费应用中,终端设备通过不同主题区分业务类型,可通过配置规则将计费业务的消息接入计费消息队列并在消息抵达设备端后发送确认通知到业务系统,非计费信息接入其他消息队列,实现业务消息路由配置;
    • 消息编解码:其他公共协议 / 私有 TCP 协议接入、工控行业等应用场景下,可以通过规则的本地处理函数(可在 EMQX 上定制开发)做二进制 / 特殊格式消息体的编解码工作;亦可通过规则的消息路由将相关消息流向外部计算资源如函数计算进行处理(可由用户自行开发处理逻辑),将消息转为业务易于处理的 JSON 格式,简化项目集成难度、提升应用快速开发交付能力。

  • 相关阅读:
    机器学习--贝叶斯网
    记一次 公司.NET项目部署在Linux环境压测时 内存暴涨分析
    APISpace IP归属地查询接口案例代码
    spring框架技术学习
    React生命周期(旧详解)
    为什么审计平台不适合进行数据库变更管理?
    【畅购商城】购物车模块之查看购物车
    SpringBoot 2.3.12.RELEASE整合RabittMQ 3.8.12
    PyTorch实现苹果M1芯片GPU加速:训练速度提升7倍,性能最高提升21倍
    聊聊异步编程的 7 种实现方式
  • 原文地址:https://blog.csdn.net/ladymorgana/article/details/127537743