# 物联网关 **Repository Path**: Posture/gateway ## Basic Information - **Project Name**: 物联网关 - **Description**: 物联网netty网关,支持百万客户端连接,并优化了与服务端集群通信算法(推荐给netty开发者的初级使用完整版) - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 55 - **Created**: 2022-01-10 - **Last Updated**: 2022-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 物联 #### 设计图 物联网平台框架之 物联网功能系统设计图 ![物联设计](https://images.gitee.com/uploads/images/2019/0918/141004_6a6e6db4_2067891.png "我的物联网设计图2.png") 网关设计图 ![网关设计](https://images.gitee.com/uploads/images/2019/0918/141028_06021ce4_2067891.png "我的网关设计2.png") #### 平台介绍 物联网平台是很大的一个摊子,在设计上,此次上传了关系设计图。在代码上,我目前也只是做了两版版网关,支持多规约;多规约组解服务,目前也只支持3761规约的组装和解析;接口做了一个框架,改了几版,开始就是提供jar包调用,后来改成zk+dubbo注册模式,后来改成springboot的Restful服务;数据二次处理也是搭了个框架,具体看业务。 此次开发,按个人的开发与运维经验,结合以往的采集,做了一些功能添加和效率优化,代码完全个人重构。 #### 开发日志 1.网关可以作为单独的产品使用 2.规约组解服务,376规约可直接使用,多规约支持目前还在做 3.接口服务,提供接口api文档,提供接口框架设计文档 4.数据二次处理服务,提供框架设计文档 5.大数据处理服务,与二次数据处理服务结合使用。 #### 网关介绍 netty网关,支持百万客户端连接,压力测试ing...,并优化了与服务端集群通信,以往轮询往多个服务器发消息,看似消息发送很平均,其实大大影响了效率,本次对平均算法做了优化,本次上传代码添加了很多功能,摒弃了以往只做心跳维护、数据转发的功能。 #### 网关功能 1.心跳维护(增加了客户端在线,但未发心跳的处理功能) 2.链路监控 3.报文监控 4.物联网卡流量监控 5.踢掉在线终端 6.在线维护 7.ip黑名单 8.定向发到集群的某台服务器 9.多规约支持(代码里就配置了645/698/376/104/二进制/MQTT/充电桩这几种规约,其实支持更多,个人感觉能支持所有规约,至少目前我见到的都能支持) 10.服务端序列化传输优化(protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一) #### 多规约组/解服务重要优化 socket通信功能优化,提高系统利用率,每台服务器的处理能力比之前提高30%以上 #### 网关代码结构 ![代码结构](https://images.gitee.com/uploads/images/2019/0918/140440_011ff537_2067891.png "我的代码结构.png") #### 网关调试效果 ![控制台打印信息](https://images.gitee.com/uploads/images/2019/0917/160435_2ee56e2e_2067891.png "控制台信息图片.png") #### 网关代码使用 1.下载代码到本地 2.在resource目录下添加commonConfig.properties文件,内容为: ![环境配置](https://images.gitee.com/uploads/images/2019/0918/140604_a3a61761_2067891.png "环境配置.png") ip和端口内容以个人实际情况配置 3.在start文件夹下,有启动文件,右键run启动就行