FluxMQ—物联网高性能MQTT网关

news2024/9/28 15:22:45

FluxMQ—物联网高性能MQTT网关

随着物联网技术的快速发展,人们越来越意识到实时、可靠、安全的数据传输对于智能化的生产与生活的重要性。因此,市场对于高性能的物联网数据传输解决方案有着强烈的需求。FluxMQ正是为满足这一需求而诞生的一款高性能、可靠且易于使用的MQTT网关产品。

什么是FluxMQ?

产品介绍

FLuxMQ是一款基于java开发,支持无限设备连接的云原生分布式物联网接入平台。
FluxMQ基于Netty开发,底层采用Reactor3反应堆模型,具备低延迟,高吞吐量,百万-千万设备连接;方便企业快速构建其物联网平台与应用。

核心特性

JAVA开发
可构建物联网一体化平台产品,单机版整体打包,避免多语言组件多模块管理;
支持标准MQTT协议
完整支持MQTT3.x和MQTT5.0 协议标准;
支持Qos0,1,2的MQTT消息传递;
支持所有MQTT客户端和库;
规则引擎
灵活的规则模型配置,支持多种数据桥接和数据持久化;
数据安全
基于MQTT overTLS/SSL确保数据安全;
LDAP,PSK和X.509证书等多种身份认证;
灵活部署
支持物理机,容器,私有云,公有云中任何地方运行,不受位置限制,不受厂商锁定;
低成本
性能卓越,降低硬件需求成本;
支持买断和按需付费;

架构

功能概览

功能说明
集群功能支持MQTT集群
发布订阅支持标准发布订阅
服务等级QoS0,1,2
ACL控制客户端发布订阅权限
流量控制限制Broker接入流量
MQTT/MQTTS/WS协议多协议支持
管理页面-连接管理管理客户端状态,上下线
管理页面-ACL访问授权
管理页面-订阅查询查看设备订阅Topic
管理页面-规则引擎转发消息
管理页面-云客户端基于ws进行模拟测试
管理页面-动态认证连接认证
管理页面-日志管理标准接入日志
管理页面-监控管理grafana监控方案
管理页面-数据源管理多数据源
管理页面-告警功能支持钉钉、微信、飞书
管理页面-协议解析支持脚本解析处理payload

FluxMQ是一款专为物联网应用打造的MQTT网关产品,致力于为企业和开发者提供高效、安全的数据传输解决方案。基于业界领先的MQTT协议,FluxMQ具有低延迟、低功耗、高并发连接等优势,能够确保在各种应用场景下实现稳定、可靠的数据传输。

FluxMQ的核心特点

  • 高性能:FluxMQ采用了最新的消息处理技术和数据压缩算法,提供高吞吐量、低延迟的数据传输能力,为您的物联网应用带来卓越的性能体验。
  • 易于使用:FluxMQ提供了简洁明了的API接口和丰富的文档资源,无论您是物联网初学者还是经验丰富的开发者,都能轻松上手并快速实现项目部署。
  • 高安全性:FluxMQ支持TLS/SSL加密通信,确保数据在传输过程中的安全性。同时,提供了多种鉴权机制和访问控制策略,保护您的物联网应用免受未经授权的访问和攻击。
  • 高可靠性:FluxMQ具备强大的故障转移和负载均衡功能,确保在各种异常情况下保持稳定的运行。此外,FluxMQ还支持消息持久化,防止因意外断线等原因造成的数据丢失。
  • 广泛适用性:FluxMQ适用于各种规模的物联网应用场景,从智能家居、工业自动化到智能交通、智慧城市等,都能发挥其卓越性能,满足不同行业的需求。

FluxMQ——高性能压测报告

前言

所有压测机器采用16c32配置,压测过程中关闭连接日志,避免日志IO影响程序吞吐量

-Dname=$AppName  -Duser.timezone=Asia/Shanghai -Xmx28G -Xms28G -XX:MetaspaceSize=200M  -XX:+UseG1GC   -XX:MaxGCPauseMillis=200 -Xloggc:`$APP_HOME`/gc.log -XX:GCLogFileSize=10M -XX:NumberOfGCLogFiles=10 -XX:+UseGCLogFileRotation -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+DisableExplicitGC -verbose:gc

单机压测

仅仅部署一台MQTT节点进行压测

连接数压测

由于客户端机器问题、待补充

广播压测

10W TPS
订阅推送报文大小cpu内存内存(最大使用)
500002/s160B20%1.7G
500002/s1024B22%1.9G

160B压测截图:

Dashboard

MQTT

jvm

1024B压测截图:

Dashboard
MQTT
JVM

20W TPS
订阅推送报文大小cpu内存(最大使用)
500004/s160B23%1.7G
500004/s1024B24%1.9G

160B压测截图:

JVM
MQTT
MQTT
MQTT

1024B压测截图:

Dashboard
MQTT
MQTT
JVM

40W TPS
订阅推送报文大小cpu内存(最大使用)
1000004/s160B48%15G
1000004/s1024BGC过长 已到瓶颈

160B压测截图:

1024B压测截图:

如果追求极致性能 还是有很大优化空间

桥接压测(KAFKA)

新建kafka数据源

新建规则转发

启用规则

10W TPS
连接推送报文大小cpu内存(最大使用)
500002/s160B22%8G
500002/s1024B31%10G

160B压测截图:

1024B压测截图:

15W TPS
连接推送报文大小cpu内存(最大使用)
500003/s160B31%13G
500003/s1024B37%15G

160B压测截图:

1024B压测截图:

20W TPS
连接推送报文大小cpu内存(最大使用)
500004/s160B35%14G
500004/s1024B40%16G

160B压测截图:

1024B压测截图:

FluxMQ——物联网数据传输解决方案

当今世界,物联网技术已经成为了推动智能化生产、智慧城市和智能交通等众多领域发展的重要引擎。在这个过程中,高性能的数据传输解决方案至关重要。FluxMQ以其高性能、易于使用、高安全性和高可靠性等优势,成为了物联网数据传输解决方案的不二选择。

FluxMQ的广泛适用性使其可以应用于各种规模的物联网应用场景,从智能家居、工业自动化到智能交通、智慧城市等。它不仅能够提供高效、安全的数据传输,还具备强大的故障转移和负载均衡功能,可以保证数据传输的稳定性和可靠性。

FluxMQ还提供了简洁明了的API接口和丰富的文档资源,无论您是物联网初学者还是经验丰富的开发者,都能轻松上手并快速实现项目部署。因此,我们相信FluxMQ将成为物联网应用开发者的得力助手,为他们提供更加便捷、高效、可靠的物联网数据传输解决方案。

如果您正在寻找一款可靠且易于使用的MQTT网关产品,那么FluxMQ绝对是您不可错过的选择。
点这里查看官网

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

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

相关文章

Adobe 观察 |最低工资标准来了,学会这几招,让加薪更简单

最新调整后的全国各地区最低工资标准情况来了! 人力资源和社会保障部新发布的数据显示,截至今年4月1日,共有15个地区第一档月最低工资标准在2000元及以上,分别是上海(2590元)、深圳(2360元&…

Pandas 2.0发布——更快的速度更低的内存占用

【重磅】Pandas 2.0发布!更快的速度更低的内存占用! Pandas 是一个用于操作数据的 Python 库,在 Python 开发人员中非常流行。尤其在数据科学和机器学习领域中,Pandas已经成为不可或缺的基础库。 4月3日,Pandas 2.0正…

ESLint 与 Prettier 配合解决代码格式问题

可以了解下Prettier,官网:Prettier 中文网 Prettier 是一个“有态度”的代码格式化工具 Prettier常见的一些配置: tabWidth:指定缩进宽度,默认为 2,建议设置为 4;printWidth:指定代…

MyBatis核心配置文件详解

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><environments default"…

页面布局基础知识

一、布局方案 1、什么是静态布局 概念 静态布局&#xff0c;也称为固定布局&#xff0c;是一种传统网页设计。页面布局使用绝对长度单位&#xff0c;采用固定宽度。忽略浏览器实际&#xff0c;网页布局始终按照最初写代码时的布局来显示。 优点&#xff1a;简单 缺点&#xf…

可视化图表组件体系的构建(内附全套开源文件)

Part01————————前言 EasyV作为一个低代码数字孪生可视化搭建平台&#xff0c;其图表组件作为可视化项目建设的基础构成发挥着重要的作用。 经过多年可视化项目交付经验&#xff0c;沉淀了一套形态多样、样式精细、高配置度的数据可视化图表。 Figma开源文件社区获取入…

【MySQL | 进阶篇】05、MySQL 视图、触发器讲解

目录 一、视图 1.1 介绍 1.2 语法 1.2.1 演示示例 1.3 检查选项 1.3.1 CASCADED 级联 1.3.2 LOCAL 本地 1.3.3 示例演示 1.4 视图的更新 1.4.1 示例演示 1.5 视图作用 1.6 案例 二、触发器 2.1 介绍 2.2 语法 2.3 案例 2.3.1 插入数据触发器 2.3.2 修改数据…

国内版 ChatGPT值不值得上手----PlumGPT测评

前言&#xff1a;什么是PlumGPT&#xff08;国内版的chatgpt&#xff09;&#xff0c;PlumGPT国内版ChatGPT是一个基于GPT-3.5算法的人工智能聊天机器人&#xff0c;能够通过自然语言与用户交互&#xff0c;提供各种服务和解答各种问题。本文将对PlumGPT国内版ChatGPT进行全面测…

NetSuite GPT的辅助编程实践

作为GPT综合症的一种表现&#xff0c;我们今朝来探究下GPT会不会抢了我们SuiteScript的编程饭碗&#xff0c;以及如何与之相处。以下内容来自我个人的实践总结。 我们假设一个功能场景&#xff1a; 为了让用户能够在报价单上实现“一键多行”功能&#xff0c;也就是在报价中可…

【精华】AIGC之文生视频及实践应用

AIGC之文生视频及实践应用 &#xff08;一&#xff09;序言 从 Stable Diffusion 到 Midjourney&#xff0c;再到 DALLE-2&#xff0c;文生图模型已经变得非常流行&#xff0c;并被更广泛的受众使用。随着对多模态模型的不断拓展以及生成式 AI 的研究&#xff0c;业内近期的工…

78-Linux_tcp服务器客户端编程流程

tcp服务器客户端编程流程一.c/s模型1.什么是c/s模型?2.c/s模型的逻辑二.TCP服务器端和TCP客户端的工作流程1.流程2.TCP三次握手3.TCP四次挥手一.c/s模型 1.什么是c/s模型? 答:(c/s)模型即(客户端/服务器端)模型 所有的客户都通过服务器端访问所需资源. 模型如图所示: 2.c…

Python样条插值和坐标映射

文章目录样条插值基本原理scipy实现坐标映射样条插值基本原理 由于数组本身是格点化了的&#xff0c;所以对数组的旋转、平移和缩放&#xff0c;并不像实数空间中那么简单。以一维的平移为例&#xff0c;现有三个点&#xff0c;坐标为0,1,2&#xff0c;值对应为a,b,c&#xff…

小黑子—多媒体技术与运用基础知识二:数字音频处理技术

多媒体技术与运用2.0多媒体系列第二章1. 音频处理概述1.1 什么是声音1.2 声音的基本参数1.3 人的听觉特性1.4 音频信号处理过程2.音频的数字化2.1 音频的采样2.2 音频的量化2.3 声道数2.3 音频的编码与压缩2.4 数字音频的质量3.音频文件格式及标准3.1 波形文件格式3.2 MPEG音频…

打造高效Android应用,从Hilt注入框架开始

概述 在 Android 开发中&#xff0c;注入解耦是一种设计模式&#xff0c;用于解决代码耦合的问题。通过使用注入技术&#xff0c;可以将应用程序中的不同部分解耦&#xff0c;从而使得代码更加灵活、易于维护和升级。 在 Android 中&#xff0c;注入解耦通常使用依赖注入&…

R -- 如何处理缺失数据

brief 识别缺失值 当传入向量&#xff0c;返回的是包含逻辑向量的等长向量。complete.cases()用来识别矩阵或者数据框有没有包含缺失值的行&#xff0c;若整行数据完整则返回TRUE&#xff0c;若行数据包含缺失值&#xff0c;不管几个缺失值则返回FALSE。 探索缺失值模式 列表图…

高速存储器

由于CPU和主存储器之间的速度上的不匹配限制了计算机系统的工作速度&#xff0c;为了提高CPU和主存之间的数据传输率&#xff0c;可以采用并行技术的存储器&#xff1a; 双端口存储器多模块交叉存储器 双端口存储器 同一个存储器具有两组相互独立的读写控制线路&#xff0c;…

Direct3D 12——灯光——聚光灯光

一个与聚光灯光源&#xff08;spotlight&#xff09;相近的现实实例是手电筒。从本质上来说&#xff0c;聚光灯由位置Q向方向d 照射出范围呈圆锥体的光。 一个聚光灯以位置Q向方向d发射出半顶角为Φmax 的圆锥体范围的光 其中&#xff0c;P为被照点的位置&#xff0c;Q是聚光…

基于html+css的盒子展示8

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

一文4000字使用JavaScript+Selenium玩转Web应用自动化测试

自动化测试 在软件开发过程中, 测试是功能验收的必要过程, 这个过程往往有测试人员参与, 提前编写测试用例, 然后再手动对测试用例进行测试, 测试用例都通过之后则可以认为该功能通过验收. 但是软件中多个功能之间往往存在关联或依赖关系, 某一个功能的新增或修改可能或影响到…

手把手教你搭建ROS阿克曼转向小车之(霍尔编码器数据读取与速度计算)

上一篇文章已经介绍了如何驱动直流有刷电机转动起来&#xff0c;这篇文章讲解如何获取编码器的计数值&#xff0c;并且计算出速度信息。在实际的运行中&#xff0c;随着机器的重量不一样&#xff0c;电机受到的阻力就会不一样&#xff0c;给定同样的PWM在不同载重的情况下速度会…