mqtt(5):golang 写是broker 项目 hmq,进行安装测试 - Go语言中文社区

mqtt(5):golang 写是broker 项目 hmq,进行安装测试


前言


关于 mqtt 相关文章分类:https://blog.csdn.net/freewebsys/article/category/8677221

本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/87863670
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于hmq


Golang MQTT Broker, Version 3.1.1, and Compatible for eclipse paho client and mosquitto-client
项目地址:
https://github.com/fhmq/hmq

找了个golang 写的mqtt 项目。
另外的一个就是
https://github.com/VolantMQ/volantmq
这个项目,貌似还比较多的星星。
但是这个服务broker 启动之后 ,使用 mqttbox 进行连接测试的时候没有成功。
具体的错误也没有找,看着依赖的项目比较多也懒得折腾了。先使用一个 hmq 进行验证先。

2,使用


使用govendor 进行依赖管理。

#安装
go get -u github.com/kardianos/govendor
go install github.com/kardianos/govendor

进入工程目录 

#初始化
govendor init
#加入本地 vendor目录当中。
govendor add +external
#查看生成列表。
govendor list

然后就可以编译了 go build 生成

hmq.config

{
	"workerNum": 4096,
	"port": "1883",
	"host": "0.0.0.0",
	"wsPort": "1888",
	"wsPath": "/ws",
	"acl": false
}

可以多配置点 worker的数量,这样处理效率高。
效率测试下还不错。

使用 mqtt-benchmark 对mqtt 服务进行压力测试
https://blog.csdn.net/freewebsys/article/details/87784882
客户端 1000 个循环 100 次进行测试。

hmq 配置 worker 4096 吞吐量是:
吞吐量(条/秒) 4829.881 ,还可以也不错呢。

3,总结


golang 是一个性能的语言,并发量上来了,同时服务器的负载,cpu 内存压力都不大。
而且语言也比较好读,好修改,简单高效。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/87863670

博主地址是:http://blog.csdn.net/freewebsys

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/freewebsys/article/details/87863670
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-18 12:53:33
  • 阅读 ( 1884 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢