进行物联网开发的同学们应该会理解,为了放弃与大量物理设施之间的长连贯,作为master与物理设施之间的通信中转站,加重master的压力,同时做到master集群的负载平衡,网关的作用是十分大的,尤其是高并发状态下。明天为大家介绍的这款入选 Gitee GVP 的开源我的项目就是针对这种状况研发,一起来看看吧。
项目名称:IOTGate
我的项目作者:於之
开源许可协定:GPL-2.0
我的项目地址:https://gitee.com/willbeahero/IOTGate
我的项目简介
IOTGate是基于netty实现的反对多规约物联网设施同时接入的一个“物联网智能网关程序”。
我的项目性能架构图
劣势和毛病
长处
- 部署灵便:IOTGate既能够单节点部署,又能够多节点集群部署,因而能够依据接入的终端数量灵便决定须要部署IOTGate的节点数量!
- 多规约:目前IOTGate应该是开源社区外面第一个实现多规约反对的物联网网关程序了,我这里所说的规约,不是tcp和upd,而是规定了各个物理设施所传输数据的格局的规约,如果不分明的倡议百度一下。至于如何实现多规约配置,后续教程会具体阐明
- 并发能力不俗:因为IOTGate基于netty开发,堪称站在伟人肩膀上了,应用netty作为底层通信组建的我的项目太多了,比拟闻名的如:RocketMQ,DUBBO等,其音讯解决能力都很厉害,尽管本人比不上如斯大牛,但用本人笔记本测试了一下,并发能力能达到6000+。
毛病
- 其对运行内存要求比拟高点,8000并发拜访时,倡议内存调配1G起步,512M的话,我看了下jvm,fullgc会比拟频繁!
命令行参数阐明
如何启动
自行将我的项目打成jar包,在linux下,执行java -jar iotGate.jar -n 1 [args...] 默认前置端口为8888,可自行源码中批改。
- 单机形式启动 :命令行参数应用“-m”指定前置服务地址
- 集群形式启动:命令行参数“-c”开启zookeeper集群模式,“-z”指定zookeeper集群的地址(逗号分隔)
- 单机版网关不反对IOTGateConsole控制台动静保护,因为IOTGateConsole的节点发现依赖于zookeeper,集群版网关无论节点多少仍然能够通过IOTGateConsole治理
如果你对我的项目更多的部署形式和详细信息感兴趣的话,那就点击前面的链接,返回我的项目主页看看吧:https://gitee.com/willbeahero/IOTGate