Java与物联网消息中间件

500_Server_Error 发布于 2016/07/18 10:12
阅读 2K+
收藏 1

现在一直在想物联网与Java的联系,正在做组件选型,跟几个做硬件的老友想做个平台

我处理的是Mqtt中间件服务器那块,主要用来提供给手机APP与硬件设备间的消息透传,Mqtt服务器上还搭载了透传日志收集,服务器登陆判断两个业务逻辑服务。

因为是测试环境,我还没用集群,用的是一台4核8g的电脑上面跑了个activemq,然后我用java写了个业务插件去完成那两个业务逻辑。

我把activemq的,发现真实接受的mqtt长连接(app+device),也就1300+,其中处于并发下的就300+,我也不知道性能好还是坏,不过明显老大是不满意的。

问题1:activemq到底能用在这个场景吗,我还有研究负载均衡,集群的必要吗。。。。。以前我一直都是负责分布式restful服务器的,突然让我弄这个,懂的实在不多。。。。求指条明路

问题2:erlang写的emqtt服务器,号称单机支持百万级的长连接,是否比activemq好呢?毕竟activemq对mqtt的支持其实是添加适配器而已,专业的mqtt服务器会更好?


加载中
0
蜗牛pass

1、如果你使用的是activemq,现阶段并没有好的集群方案,成熟的是主从结构,当数据量到一定级别时,肯定存在瓶颈,因此需要在前端搭负载。rabbitmq支持集群部署,可以不用搭负载

2、emqtt之前用来做过性能测试(版本0.9.x),和activemq、rabbitmq相比较,还不够成熟,存在功能上的bug。如果稳定的话,推荐使用它的2.0以上版本,支持消费组,同时使用集群的话,前端无须负载

蜗牛pass
回复 @500_Server_Error : activemq的这个方案我也看过,但是没有实际使用过,记得当前的感觉是还是主从,只不过内部做了分布式(这里记得不是太清楚了,你可以再自己确认一下)
蜗牛pass
回复 @weet : 当数据量大到一定级别时,会出现数据接收和发送方面的问题,还有不稳定,时不时中断
w
weet
请问 emqtt 0.9.x 功能上的 bug 具体是指?
5
500_Server_Error
谢回答,activemq的集群方案,主从+负载均衡+分布式的话,这边有个方案,不知道可用性怎么样:http://www.open-open.com/lib/view/open1400126457817.html rabbitmq的性能我会进一步测试 emqtt 我调研到的也是有许多bug,假如有空的话我会去尝试一下,就是不知道有没有良好的自定义业务插件的方案,对erlang也不怎么熟悉
0
无锡首席大都督程序员
回复 @蜗牛pass : 了解了,多谢。
蜗牛pass
2.0是计划版本,目前正式版是1.1.2
返回顶部
顶部