介绍一款高性能分布式MQTT Broker(带web)
SMQTTX介绍
SMQTTX是基于SMQTT的一次重大技术升级,基于Java开发的分布式MQTT集群,是一款高性能,高吞吐量,并且可以完成二次开发的优秀的开源MQTT broker,主要采用技术栈:reactor3、reacotr-netty、netty、ignite等开源软件,基于SMQTTX可以轻松完成百万级别设备接入。
集群配置
机器节点 | 配置 |
---|---|
192.168.0.92 | 8c/16g |
192.168.0.187 | 8c/16g |
压测场景
❝
本次压测使用Emq-bench进行
❞
连接压测
[root@ecs-143990-0003 bin]# ./emqtt_bench conn -h 192.168.0.187 -p 1883 -u smqtt -P smqtt -c 50000 -i 2
connected: 50000
[root@ecs-143990-0002 bin]# ./emqtt_bench conn -h 192.168.0.187 -p 1883 -u smqtt -P smqtt -c 50000 -i 2
connected: 50000
推送压测
订阅 100000 pub
[root@ecs-143990-0003 bin]# ./emqtt_bench sub -t test -h 192.168.0.187 -p 1883 -u smqtt -P smqtt -c 50000
connected: 50000
9m12s sub total=50000 rate=31/sec
[root@ecs-143990-0002 bin]# ./emqtt_bench sub -t test -h 192.168.0.187 -p 1883 -u smqtt -P smqtt -c 50000
connected: 50000
9m12s sub total=50000 rate=31/sec
5000 pub
1h59m12s recv total=4907417 rate=59514/sec
1h59m13s recv total=4964547 rate=57130/sec
1h59m14s recv total=4971856 rate=7309/sec
1h59m32s recv total=5005099 rate=33243/sec
1h59m33s recv total=5060676 rate=55577/sec
1h59m34s recv total=5117880 rate=57204/sec
1h59m35s recv total=5173121 rate=55241/sec
1h59m36s recv total=5229499 rate=56378/sec
1h59m37s recv total=5285674 rate=56175/sec
1h59m38s recv total=5344244 rate=58570/sec
1h59m39s recv total=5397227 rate=52983/sec
1h59m40s recv total=5452597 rate=55370/sec
1h59m41s recv total=5510186 rate=57589/sec
1h59m42s recv total=5565421 rate=55235/sec
1h59m43s recv total=5622088 rate=56667/sec
1h59m44s recv total=5679827 rate=57739/sec
1h59m45s recv total=5737467 rate=57640/sec
1h59m46s recv total=5794272 rate=56805/sec
1h59m47s recv total=5848318 rate=54046/sec
1h59m48s recv total=5906008 rate=57690/sec
由上实际写入Qps 50kp/s
SMQTTX商业版问世
❝
如果您的系统需要支持千万级设备接入,百万QPS数据上行,那我们的SMQTTX商业版是非常适合您的一款应用。
访问地址:Dashboard
用户名/密码:smqtt/smqtt❞
功能对比
特色功能
分布式集群连接管理 分布式规则引擎管理 分布式动态认证管理 细粒度指标监控、提供grafana监控画板 标准的接入日志输出、日志查询 告警功能。提供钉钉、飞书等机器人告警
联系方式
微信: 17512575402
请备注咨询商业版MQTT
介绍一款高性能分布式MQTT Broker(带web)的更多相关文章
- 如何使用java搭建一款高性能的Mqtt集群broker!
SMQTT是一款开源的MQTT消息代理Broker, SMQTT基于Netty开发,底层采用Reactor3反应堆模型,支持单机部署,支持容器化部署,具备低延迟,高吞吐量,支持百万TCP连接,同时支持 ...
- 一款带Web面板的轻量级、高性能内网穿透工具:nps使用教程
说明:内网穿透工具之前已经介绍了不少了,比如Frp.lanproxy.Holer等,现在再介绍个带Web面板的穿透工具nps,之前叫easyProxy,只是改名了而已,该工具是一款使用go语言编写的轻 ...
- 全网唯一开源java开发的支持高扩展,高性能的Mqtt集群broker!
SMQTT是一款开源的MQTT消息代理Broker, SMQTT基于Netty开发,底层采用Reactor3反应堆模型,支持单机部署,支持容器化部署,具备低延迟,高吞吐量,支持百万TCP连接,同时支持 ...
- 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了
1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...
- 基于netty轻量的高性能分布式RPC服务框架forest<下篇>
基于netty轻量的高性能分布式RPC服务框架forest<上篇> 文章已经简单介绍了forest的快速入门,本文旨在介绍forest用户指南. 基本介绍 Forest是一套基于java开 ...
- 高性能分布式执行框架——Ray
Ray是UC Berkeley AMP实验室新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能. Ray目前还处于实验室阶 ...
- 高可用高性能分布式文件系统FastDFS实践Java程序
在前篇 高可用高性能分布式文件系统FastDFS进阶keepalived+nginx对多tracker进行高可用热备 中已介绍搭建高可用的分布式文件系统架构. 那怎么在程序中调用,其实网上有很多栗子, ...
- EMQ (Erlang/Enterprise/Elastic MQTT Broker)
EMQ (Erlang/Enterprise/Elastic MQTT Broker) https://www.cnblogs.com/SteveLee/p/9843215.html MQ介绍 EMQ ...
- 【万字长文】Dubbo 入门总结 ,一款高性能的 Java RPC 框架
这篇文章是我学习整理 Dubbo 的一篇文章,首先大部分内容参考了官网 + 某硅谷的视频,内容讲解进行了重新编排,40多张图片,也都是我修改重制的,虽然一万多字,但是其实也可以看出来,更多的内容集中在 ...
- 《介绍一款开源的类Excel电子表格软件》续:七牛云存储实战(C#)
两个月前的发布的博客<介绍一款开源的类Excel电子表格软件>引起了热议:在博客园有近2000个View.超过20个评论. 同时有热心读者电话咨询如何能够在SpreadDesing中实现存 ...
随机推荐
- 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记
论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...
- PAT乙级 1024 科学计数法
思路 1.尝试失败:一开始想打算把结果直接存在一个字符串中,后来发现当指数大于0的时候还需要分别考虑两种情况,工程量巨大,尝试失败,于是借鉴了其他大佬思路,写出了ac代码 2.ac思路:首先取指数的绝 ...
- mac通过docker一键部署Jenkins
目录 mac通过docker一键部署Jenkins 一.前言 二.系统配置 三.安装步骤 Dockerhub查看镜像地址 1.一键安装 1.1.下载脚本 1.2.安装程序 1.2.1.安装程序详情 1 ...
- PHP全栈开发(九):javascript 基础
js不允许读取电脑上的文件: js不允许修改服务器上的文件,修改服务器上的文件是php来做的事情. 因此js是一个前端脚本. 前端的三个语言是HTML/CSS/JavaScript 这三个东东Java ...
- Docker | 容器数据卷详解
什么是容器数据卷 从docker的理念说起,docker将应用和环境打包成一个镜像,运行镜像(生成容器)就可以访问服务了. 如果数据都存在容器中,那么删除容器,数据就会丢失!需求:数据可以持久化 My ...
- JavaScript基本语法(数组与JSON)
5.数组 #①使用new关键字创建数组 // 1.创建数组对象 var arr01 = new Array(); // 2.压入数据 arr01.push("apple"); ar ...
- JDK 8之前日期和时间的API
JDK 8之前日期和时间的API(1) System类中的currentTimeMillis():返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差.称为时间戳. java.util ...
- 畸变矫正、透视变换加速(OpenCV C++)
前两周,同事和我说检测时间超时,其中对图像做畸变矫正和投影变换就要花费25ms(3000×3000的图).而此时我们已经用上了文章opencv图像畸变矫正加速.透视变换加速方法总结中的方法.突然我想到 ...
- Sentinel 介绍与下载使用
sentinel 前方参考 计算QPS-Sentinel限流算法 https://www.cnblogs.com/yizhiamumu/p/16819497.html Sentinel 介绍与下载使用 ...
- 13-ORM-更新&删除
一.更改单个数据 修改单个实体的某些字段 1.查: - 通过get()得到要修改的实体对象 2.改: - 通过对象属性的=的方式修改数据 3.保存 - 通过对象.save()保存数据 二.批量 ...