当前位置: 首页 > wzjs >正文

网站页面策划软件五金弹簧东莞网站建设

网站页面策划软件,五金弹簧东莞网站建设,百度网站首页提交入口,如何做网线水晶头接法图解HiveMQ 是一个提供免费个人版和企业版的 MQTT 代理,主要用于企业和新兴的机器到机器 M2M 通讯和内部传输,满足可伸缩性、易管理和安全特性。HiveMQ 提供了开源的插件开发包。可以通过 HiveMQ extension - TDengine 保存数据到 TDengine。 HiveMQ TDengi…

在这里插入图片描述

HiveMQ 是一个提供免费个人版和企业版的 MQTT 代理,主要用于企业和新兴的机器到机器 M2M 通讯和内部传输,满足可伸缩性、易管理和安全特性。HiveMQ 提供了开源的插件开发包。可以通过 HiveMQ extension - TDengine 保存数据到 TDengine。

HiveMQ TDengine 插件

目标

将 publish 到 HiveMQ 的数据按照 ts(时间戳) topic(消息主题) payload(消息内容) 实时写入 TDengine 数据库
写入支持 HTTP 和 SDK 两种方式

执行过程

  • 读取配置文件
  • 创建 TDengine 连接
  • 创建库 (库名在配置文件 db 配置项)
  • 创建表 (表名在配置文件 table 配置项)
  • 拦截所有 publish 消息
  • 将 topic 和 payload 异步写入表中
    • topic 列名在配置文件 topicColumn 配置项
    • payload 列名在配置文件 PayloadColumn 配置项
    • 如果 payload 包含特殊字符(GBK 无法编码)尝试使用 base64 编码 payload
    • 出现异常将抛弃该消息并打印异常
  • 插件卸载时调用关闭数据库连接

架构

  • TDengine.java 负责处理数据库连接 创建库表 写入数据
  • TDengineExtension.java 为插件主入口
  • extensionStart 方法在插件启动时调用
    • 传入 tdengine.xml (tdengine配置文件)文件位置给 TDengine 进行创建数据库连接和初始化库表
    • 注册 TDengineInterceptor
  • extensionStop 方法在插件结束生命周期时调用
    • 调用 tdengine.close 方法断开 SDK 连接
  • TDengineInterceptor.java 拦截器实现
  • onInboundPublish 方法在消息 publish 时触发
    • 异步调用 tdengine.saveData 方法写入 TDengine 数据库

编译步骤

mvn clean
mvn package

部署方法

TDengine

见官方文档: https://www.taosdata.com/cn/getting-started/

HiveMQ

见官方文档: https://www.hivemq.com/docs/hivemq/4.4/user-guide/install-hivemq.html

插件部署

  1. 将打包好的压缩包如: hivemq-tdengine-extension-{version}-distribution.zip 解压到 HiveMQ 目录的 extensions 文件夹下
  2. 修改插件包内的 tdengine.xml 配置文件为实际使用的数据库信息
  3. 不需要手动建库建表,插件启动时会自动创建库和表

注意事项

  1. 在使用 sdk 进行保存 payload 时如果并发数过会引发 “Invalid result set pointer”,根据issue #1477 https://github.com/taosdata/TDengine/issues/1477 修改后错误依旧,所以使用 ReentrantLock 加锁避免竞争。
  2. tdengine.xml 文件的 ip 属性如果指定 type 为 sdk 则应使用域名或修改 host 不可直接使用 ip 地址 详情见 https://www.taosdata.com/blog/2020/09/11/1824.html

TDengine 的 FAQ: https://www.taosdata.com/cn/documentation/faq/

性能测试结果

环境
  • TDengine : docker 单节点 V2.0.3.1
  • HiveMQ : 裸机 单节点 V4.4.1
  • CPU : Intel 9600k @ 3.70GHz
  • Memory : 16,224 MB
  • System : Microsoft Windows 10 专业版 2004
测试结果

因为 mqttloader 测试 payload 编码问题 TDengine 无法识别 所以会将 payload 进行 base64 编码后尝试写入(结果参考意义不是很大,因为正常写入时 payload 一般可以直接 GBK 编码解析,从而避免编码 Base64 )

http

1 发布者 1订阅者 每个发布者发布 1000 条

.\mqttloader -b tcp://127.0.0.1:1883 -p 1 -s 1 -m 1000-----Publisher-----
Maximum throughput[msg/s]: 1000
Average throughput[msg/s]: 1000.00
Number of published messages: 1000
Per second throughput[msg/s]: 1000-----Subscriber-----
Maximum throughput[msg/s]: 326
Average throughput[msg/s]: 166.67
Number of received messages: 1000
Per second throughput[msg/s]: 326, 109, 220, 109, 74, 162
Maximum latency[ms]: 5709
Average latency[ms]: 2326.10

10 发布者 10订阅者 每个发布者发布 100 条

.\mqttloader -b tcp://127.0.0.1:1883 -p 10 -s 10 -m 100-----Publisher-----
Maximum throughput[msg/s]: 1000
Average throughput[msg/s]: 1000.00
Number of published messages: 1000
Per second throughput[msg/s]: 1000-----Subscriber-----
Maximum throughput[msg/s]: 3830
Average throughput[msg/s]: 3333.33
Number of received messages: 10000
Per second throughput[msg/s]: 3410, 3830, 2760
Maximum latency[ms]: 2506
Average latency[ms]: 1349.07

10 发布者 10订阅者 每个发布者发布 1000 条

.\mqttloader -b tcp://127.0.0.1:1883 -p 10 -s 10 -m 1000-----Publisher-----
Maximum throughput[msg/s]: 10000
Average throughput[msg/s]: 10000.00
Number of published messages: 10000
Per second throughput[msg/s]: 10000-----Subscriber-----
Maximum throughput[msg/s]: 8329
Average throughput[msg/s]: 6666.67
Number of received messages: 100000
Per second throughput[msg/s]: 4070, 7590, 8329, 8191, 6410, 8142, 7188, 8190, 8174, 7736, 7000, 7561, 6059, 3870, 1490
Maximum latency[ms]: 14631
Average latency[ms]: 6826.93
sdk

1 发布者 1订阅者 每个发布者发布 1000 条

.\mqttloader -b tcp://127.0.0.1:1883 -p 1 -s 1 -m 1000-----Publisher-----
Maximum throughput[msg/s]: 1000
Average throughput[msg/s]: 1000.00
Number of published messages: 1000
Per second throughput[msg/s]: 1000-----Subscriber-----
Maximum throughput[msg/s]: 676
Average throughput[msg/s]: 333.33
Number of received messages: 1000
Per second throughput[msg/s]: 676, 109, 215
Maximum latency[ms]: 2295
Average latency[ms]: 821.72

10 发布者 10订阅者 每个发布者发布 100 条

.\mqttloader -b tcp://127.0.0.1:1883 -p 10 -s 10 -m 100-----Publisher-----
Maximum throughput[msg/s]: 1000
Average throughput[msg/s]: 1000.00
Number of published messages: 1000
Per second throughput[msg/s]: 1000-----Subscriber-----
Maximum throughput[msg/s]: 5357
Average throughput[msg/s]: 5000.00
Number of received messages: 10000
Per second throughput[msg/s]: 4643, 5357
Maximum latency[ms]: 1841
Average latency[ms]: 1008.62

10 发布者 10订阅者 每个发布者发布 1000 条

.\mqttloader -b tcp://127.0.0.1:1883 -p 10 -s 10 -m 1000
-----Publisher-----
Maximum throughput[msg/s]: 10000
Average throughput[msg/s]: 10000.00
Number of published messages: 10000
Per second throughput[msg/s]: 10000-----Subscriber-----
Maximum throughput[msg/s]: 7600
Average throughput[msg/s]: 6250.00
Number of received messages: 100000
Per second throughput[msg/s]: 2310, 6640, 5850, 7220, 6070, 6990, 7410, 7320, 7470, 7600, 7420, 7290, 7470, 6990, 4940, 1010
Maximum latency[ms]: 14980
Average latency[ms]: 7762.69

文章转载自:

http://Gqy8EgAz.xcszL.cn
http://EmIg25Gj.xcszL.cn
http://kiIIKqJk.xcszL.cn
http://NPL9TPKK.xcszL.cn
http://Fh40PTQY.xcszL.cn
http://fi3Nae9V.xcszL.cn
http://afB0Y5M4.xcszL.cn
http://EqS79J4k.xcszL.cn
http://dXoj7UGk.xcszL.cn
http://271yDGnR.xcszL.cn
http://3YS1bgnt.xcszL.cn
http://cKZxdEEX.xcszL.cn
http://0kuj4O1V.xcszL.cn
http://x6XSfVJy.xcszL.cn
http://kMJTfDaO.xcszL.cn
http://9nsG3z4e.xcszL.cn
http://b3uReDzu.xcszL.cn
http://BCE5Yjbv.xcszL.cn
http://QQ489ml6.xcszL.cn
http://9q7Ds1y1.xcszL.cn
http://AeLl49jZ.xcszL.cn
http://CQjFdExY.xcszL.cn
http://9gtVRAsA.xcszL.cn
http://CJw4q2l6.xcszL.cn
http://Vkab8lhB.xcszL.cn
http://Jv7d910H.xcszL.cn
http://v9PJ7bwb.xcszL.cn
http://HGsrlTod.xcszL.cn
http://CaJb6fFr.xcszL.cn
http://RKYuHz7c.xcszL.cn
http://www.dtcms.com/wzjs/767897.html

相关文章:

  • 免费网站建设加盟如何对网站的图片做cdn
  • 洛杉矶网站建设百度快照优化培训班
  • 网站开发哪家公司电话犀浦网站建设
  • 开发高端产品网站维护运营优化公司
  • 长沙企业网站开发哪家专业服务器可以自己的网站吗
  • 女人做一级a网站免费如何网站建设团队
  • 网站建设费用预算明细通过门户网站做单点登录SAP
  • 客户关系管理系统源码整站网站优化
  • 国外网站发展建设南阳注册公司多少钱
  • 如何做网站详细步骤外贸网站建设方法
  • 开源电商网站建设价格企业做网站有什么好处
  • 网监大队让网站备案怎么自己做网站怎么赚钱
  • 怎么做网站登录界面专业企业app开发制作
  • 衡阳县建设局网站百度推广登录地址
  • 网站伪静态化广州品牌设计公司50强
  • 建设监理工程师网站家具设计师培训班
  • 手机网站和微信网站有哪些哪家公司的网好
  • 扫描网站特征dede主题巴巴wordpress
  • 淮安做网站找哪家公司哪些网站可以做seo
  • 乌镇网站建设投标书小内存安装wordpress
  • 遵义网站建设优化公司淮南seo
  • 济宁做网站优化wordpress 关闭畅言
  • 网页设计与网站建设课程总结网站页头图片
  • 网站图片最大尺寸是多少php网站如何做特效
  • 电商网站上信息资源的特点包括哪些北京网页制作费用大概多少
  • 可信网站查询官网wordpress如何添加一级目录下
  • 网站托管维护代运营做搜狗pc网站优化
  • 怎么做lol网站建设通网站是什么网站
  • 网站建设 朝阳区保护wordpress图片
  • 织梦网站广告代码教程电子书网站用dz还是wordpress