码云地址:https://gitee.com/willbeahero/IOTGate

IOTGate是什么?

IOTGate是基于netty实现的支持多规约物联网设备同时接入的一个“物联网智能网关程序”。

为什么会有IOTGate?

如上图,物联网设备管理模块中,左侧master模块,主要用于向其它多类型平台提供统一的API接口,同时与终端通讯的报文解析与报文组装等工作全部交由master完成!IOTGate最主要的作用:保持与大量物理设备之间的长连接,作为master与物理设别之间的通讯中转站,减轻master的压力;同时IOTGate还可以做到了master集群的负载均衡。做过J2EE开发的同学可以想象一下,nginx和tomcat的关系,跟这里master与IOTGate有些类似。

IOTGate开源版功能架构图

IOTGate与其它网关程序长处和缺点有什么?

1.优点:

a.部署灵活:IOTGate既可以单节点部署,又可以多节点集群部署,因此可以根据接入的终端数量灵活决定需要部署IOTGate的节点数量!

b.**多规约:目前IOTGate应该是开源社区里面第一个实现多规约支持的物联网网关程序了,我这里所说的规约,不是tcp和upd,而是规定了各个物理设备所传输数据的格式的规约,如果不清楚的建议百度一下。至于如何实现多规约配置,后续教程会详细说明

c.并发能力不俗:由于IOTGate基于netty开发,可谓站在巨人肩膀上了,使用netty作为底层通讯组建的项目太多了,比较出名的如:RocketMQ,DUBBO等,其消息处理能力都很厉害,虽然自己比不上如斯大牛,但用自己笔记本测试了一下,并发能力能达到6000+。

d.其他有点,请大家自行发现,哈哈

2.缺点:

a.其对运行内存要求比较高点,8000并发访问时,建议内存分配1G起步,512M的话,我看了下jvm,fullgc会比较频繁!