首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个MQTT服务器用于> 1M连接

哪个MQTT服务器用于> 1M连接
EN

Stack Overflow用户
提问于 2015-03-17 17:49:06
回答 5查看 12.3K关注 0票数 8

如果有几百万的预算来建立一个MQTT服务器场,你会怎么做呢?

它必须具有以下属性:

  • 支持跨越所有数据中心的4-5米连接。
  • 300 300k /s,每个约1kb
  • 地理冗余
  • 不能丢失消息QOS1
  • 每个客户端将发布到一个单一的主题,但订阅他们自己独特的主题。这意味着400万个主题。

在这里可以找到MQTT服务器代理:https://github.com/mqtt/mqtt.github.io/wiki/server-support#capabilities

然而,功能通常不会发布。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-03-18 09:44:56

IBM Messagesight设备专门为大规模物联网部署而设计的,如连接的汽车:http://www-03.ibm.com/software/products/en/messagesight

使用v2.0集群IBM IoT MessageSight服务器是可能的,它允许您将单个MessageHub扩展到多个服务器,从而甚至允许超过1M连接。

票数 4
EN

Stack Overflow用户

发布于 2015-06-11 16:20:26

尽管Erlang支持的VerneMQ MQTT代理仍然很新,但是没有什么(除了RAM/CPU/ is /带宽)可以阻止您打开这么多连接。

http://verne.mq

确保设置类似于:

代码语言:javascript
复制
listener.max_connections = infinity
listener.nr_of_acceptors = 1000
erlang.max_ports = 10000000
erlang.process_limit = 10000000

在你的vernemq.conf

免责声明:我是VerneMQ的开发人员之一,很乐意帮助您达到1M连接/服务器。

票数 13
EN

Stack Overflow用户

发布于 2019-01-21 13:34:09

HiveMQ是一个自托管的、基于java的Enterprise,专门为支持数百万并发连接而设计。

HiveMQ团队已经完成了一个基准测试,将超过10.000.000个并发MQTT客户端连接到HiveMQ代理集群。为了达到这一数字,伴随着良好的性能,需要在旧机器的操作系统上进行一些配置。

打开/etc/security/limits.conf s.conf中的文件

代码语言:javascript
复制
hivemq  hard    nofile  1000000
hivemq  soft    nofile  1000000
root    hard    nofile  1000000
root    soft    nofile  1000000

TCP在/etc/sysctl.conf中的调整

代码语言:javascript
复制
# This causes the kernel to actively send RST packets when a service is overloaded.
net.ipv4.tcp_fin_timeout = 30

# The maximum file handles that can be allocated.
fs.file-max = 5097152

# Enable fast recycling of waiting sockets.
net.ipv4.tcp_tw_recycle = 1

# Allow to reuse waiting sockets for new connections when it is safe from protocol viewpoint.
net.ipv4.tcp_tw_reuse = 1

# The default size of receive buffers used by sockets.
net.core.rmem_default = 524288

# The default size of send buffers used by sockets.
net.core.wmem_default = 524288

# The maximum size of received buffers used by sockets.
net.core.rmem_max = 67108864

# The maximum size of sent buffers used by sockets.
net.core.wmem_max = 67108864

# The size of the receive buffer for each TCP connection. (min, default, max)
net.ipv4.tcp_rmem = 4096 87380 16777216

# The size of the sent buffer for each TCP connection. (min, default, max)
net.ipv4.tcp_wmem = 4096 65536 16777216

有关所使用VM的详细信息、操作系统端所需的特定配置以及详细的性能结果都可以在1 000万份基准票据中找到。

免责声明:我是HiveMQ团队的一员。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29106219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档