EMQ X 规则引擎系列(四)桥接消息到 RabbitMQ
场景介绍 该场景需要将 EMQ X 指定主题下且满足条件的消息存储到 RabbitMQ。 RabbitMQ 是一个由 Erlang 开发的 AMQP 消息中间件的开源实现,主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。RabbitMQ 用于在分布式系统中存储转发消息,在易用性、吞吐量、扩展性、高可用性等方面表现不俗。EMQ X 百万级消息吞吐的场景下,RabbitMQ 是最佳的持久化/桥接方案之一。 该场景下设备端上报信息如下: 上报主题:cmd/state/:id,主题中 id 代表车辆客户端识别码 消息体: { "id": "NXP-058659730253-963945118132721-22", // 客户端识别码 "speed": 32.12, // 车辆速度 "direction": 198.33212, // 行驶方向 "tachometer": 3211, // 发动机转速,数值大于 8000 时才需存储 "dynamical": 8.93, // 瞬时油耗 "location": { // GPS 经纬度数据 "lng": 116.296011, "lat": 40.005091 }, "ts": 1563268202 // 上报时间 } 当上报数据发动机转速数值大于 8000 时,存储当前信息以便后续分析用户车辆使用情况。 准备工作