java lr(0)如何实现移进和规约_【开源好物】实现多规约的物联网网关IOTGate

f4ce0c297e3f78ce49b25e2b53088ac3.png

进行物联网开发的同学们应该会了解,为了保持与大量物理设备之间的长连接,作为master与物理设备之间的通讯中转站,减轻master的压力,同时做到master集群的负载均衡,网关的作用是非常大的,尤其是高并发状态下。今天为大家介绍的这款入选 Gitee GVP 的开源项目就是针对这种情况研发,一起来看看吧。

项目名称:IOTGate

项目作者:於之

开源许可协议:GPL-2.0

项目地址:https://gitee.com/willbeahero/IOTGate

项目简介

fd7618fcb7589c264d38b254f1b7d375.png

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

项目功能架构图

98ce453b85fa0ffdd33fb4c5c318ae3a.png

优势和缺点

优点

  • 部署灵活:IOTGate既可以单节点部署,又可以多节点集群部署,因此可以根据接入的终端数量灵活决定需要部署IOTGate的节点数量!
  • 多规约:目前IOTGate应该是开源社区里面第一个实现多规约支持的物联网网关程序了,我这里所说的规约,不是tcp和upd,而是规定了各个物理设备所传输数据的格式的规约,如果不清楚的建议百度一下。至于如何实现多规约配置,后续教程会详细说明
  • 并发能力不俗:由于IOTGate基于netty开发,可谓站在巨人肩膀上了,使用netty作为底层通讯组建的项目太多了,比较出名的如:RocketMQ,DUBBO等,其消息处理能力都很厉害,虽然自己比不上如斯大牛,但用自己笔记本测试了一下,并发能力能达到6000+。

缺点

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

命令行参数说明

b0b5e6e4057e365ccbef6bd368db0575.png

如何启动

自行将项目打成jar包,在linux下,执行java -jar iotGate.jar -n 1 [args...] 默认前置端口为8888,可自行源码中修改。

  • 单机方式启动 :命令行参数使用“-m”指定前置服务地址
  • 集群方式启动:命令行参数“-c”开启zookeeper集群模式,“-z”指定zookeeper集群的地址(逗号分隔)
  • 单机版网关不支持IOTGateConsole控制台动态维护,因为IOTGateConsole的节点发现依赖于zookeeper,集群版网关无论节点多少依然可以通过IOTGateConsole管理

81893665cebc52cbc544461b44e0d2a7.png

3a5f05359a5c6b39e6ee8b4d7caf5e70.png

如果你对项目更多的部署方式和详细信息感兴趣的话,那就点击后面的链接,前往项目主页看看吧:https://gitee.com/willbeahero/IOTGate

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值