服务器:centos
看的比较多的是 mosquitto 和 emqx, 现在用三行命令已经将 emqx 部署好了,可用。
V 友们能用大白话结合实际讲一下两者区别吗,选用哪个比较好,还有什么其他好用的服务端推荐吗。
1
sdk234 2022-12-09 00:50:19 +08:00 via Android
反正我一直在用蚊子。
|
2
icepie 2022-12-09 00:58:12 +08:00
https://github.com/DrmagicE/gmqtt 试试这个, 方便二次开发
|
4
pigspy 2022-12-09 07:38:06 +08:00 1
emqx 绝对够用了
|
5
CyJaySong 2022-12-09 08:55:54 +08:00 1
emqx 绝对够用
|
6
wenqiang1208 2022-12-09 09:25:38 +08:00 1
emqx 绝对够用,两个 1 核 1G 的内网服务器 部署 emqx ,再来个带宽高一些的服务器 1 核 2G 服务器 部署个 harpoxy 做负载,妥妥的
|
7
unt OP @pigspy #4
@CyJaySong #5 @wenqiang1208 #6 谢谢,还有请问,mqtt 和传统 16 进制字节流区别是什么,优势不用多说,mqtt 够简单! 然而 16 进制字节流的优势是什么呢,如果没有优势的话,那不是应该被秒杀灭绝了嘛。或者说各自的应用场景是什么 |
10
retanoj 2022-12-09 10:04:48 +08:00
比较想问 OP 会把 MQTT 协议应用在什么场景下
|
12
l0wkey 2022-12-09 10:20:38 +08:00
搞清楚你的使用方式、场景、预期用量之类。
比如是连接密集型还是消息密集型,emq 这种在单机情况下,比较适合消息连接密集,高消息吞吐会不太行,集群的商业版本成本是不是能承担;鉴权方式选择。当然还有个公有云 /self-hosted 部署的选择,有可能公有云的公共集群会划算很多,不过如果选公有云的话,要注意接入点最好加一层自己域名做 cname 。 |
13
unt OP @l0wkey #12 设备不多,目前按 2W 台算吧,心跳消息 30 秒一次,其他消息不多,这种算什么,我也不太懂😅 。16 进制字节流的优势是什么
|
15
acmookey 2022-12-09 15:20:53 +08:00
@unt 20000 设备,30 秒收发一次心跳,收发消息的 QPS = (20000/30) * 2 = 1333, 机器配置不要太差,这个应该轻轻松松都能达到。EMQ 有它自己的压测工具,可以在自己的服务器上搞下压测就晓得了
|
16
cnuser002 2022-12-09 16:01:57 +08:00
Eclipse 的 MQTT Client 实现还可以,Broker 端好像性能不太好。
建议直接就 emqx 。 至于你说的 mqtt 和 16 进制字节流的区别。我感觉你误解了 MQTT 。 MQTT 本身就是一种建立在 TCP 上的字节协议。 它帮助你建立并维护 Client - Broker 之间的连接, 使用基于 Topic 的 推送 /订阅机制,间接实现 Client 与 另一个的 Client 的数据传输。 比如你的场景,用 MQTT 来实现。就是服务器订阅某个 Topic ,20000 个设备往这个 Topic 上推送,利用 Broker 来实现服务器监听 20000 个设备上报的数据。 如果你不用 MQTT ,那就要换个方式去接。 比如你可以开一个 HTTP Server ,让 20000 个设备发送 Post 请求来上报数据。 或者开一个 TCP Socket Server ,让 20000 个设备以 Tcp Client 的形式连到你的 Server 上,然后用自己设计个协议去接。 你说的可能就是这种自己编协议的吧。 |
18
Eds1995 2022-12-09 18:46:51 +08:00 via iPhone
直接选 emqx 好了,啥都不用折腾,买一个 clb 加两台 ecs ,部署上去就完事。
|
19
iloveyou 2022-12-09 18:56:34 +08:00
我们用的阿里云的
|
20
likeunix 2022-12-10 09:50:47 +08:00
|