物联网设备网关技术架构设计TCP Gateway

物联网设备网关技术架构设计TCP Gateway,第1张

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是物联网设备网关技术架构设计(Session 管理、心跳管理、数据上行、数据下行)TCP Gateway。

物联网设备网关技术架构设计(Session 管理、心跳管理、数据上行、数据下行)

NioEventLoop 是 Netty 的 Reactor 线程,其角色:

基于Netty构建TCP网关的长连接容器,作为网关接入层提供服务API请求调用。

客户端通过域名+端口访问TCP网关,域名不同的运营商对应不同的VIP,VIP发布在LVS上,LVS将请求转发给后端的HAProxy,再由HAProxy把请求转发给后端的Netty的IP+Port。

LVS转发给后端的HAProxy,请求经过LVS,但是响应是HAProxy直接反馈给客户端的,这也就是LVS的DR模式。

其中步骤一至步骤九是指 Netty 服务端的创建时序,步骤十至步骤十三是 TCP 网关容器创建的时序。

Window 地址 // C:WindowsSystem32driversetchosts

添加 127001 iot-openicloudcom

位置: comibyteiottestserverTestTcpServer

位置: comibyteiottestclientTcpClient

更多内容:>01

物联网工程所学内容包括:信息与通信工程、电子科学技术、计算机科学与技术、物联网概论、电路分析基础、信号与系统、模拟电子技术、数字电路与逻辑设计、微机原理与接口技术、工程电磁场、通信原理、计算机网络、现代通信网、传感器原理、嵌入式系统设计、无线通信原理、无线传感器网络、近距无线传输技术、二维条码技术、数据采集与处理、物联网安全技术、物联网组网技术等。

物联网工程是继计算机、互联网和移动通信之后的又一次信息产业的革命性发展,目前被正式列为国家重点发展的战略性新兴产业之一。互联网是一个时代,物联网,也是一个时代。物联网技术是当今电子、通信、计算机、IT行业技术的大融合。物联网工程所学内容包括:信息与通信工程、电子科学与技术、计算机科学与技术等等。

物联网工程专业就业方向:

物联网工程专业毕业生能在政府管理部门、科学研究机构、设计院、咨询公司、建筑工程公司、物业及能源管理、建筑节能设备及产品制造生产企业等单位从事建筑节能的研究、设计、

施工、运行、监测与管理工作。

培养要求:

本专业学生要具有较好的数学和物理基础,掌握物联网的相关理论和应用设计方法,具有较强的计算机技术和电子信息技术的能力,掌握文献检索、资料查询的基本方法,能顺利地阅读本专业的外文资料,具有听、说、读、写的能力。

知识技能:

掌握和计算机科学与技术相关的基本理论知识、掌握物联网工程的分析和设计的基本方法、了解文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力。

物联网工程专业是教育部为服务国家战略性新兴产业发展而开办的新型专业,覆盖计算机、控制、通信技术(3C技术)和电子、信息安全、系统工程等多个领域。合肥工业大学是全国首批获准开办物联网工程专业的三十所高校之一,该专业已被列为国家级特色专业,重点培养能够运用嵌入式智能技术、计算机和网络技术等,进行信息感知、无线传输、数据存储和处理及应用等方面知识能力的系统工程型和创新性高级工程技术人才。
主要课程:电路与电子技术、数字逻辑、数据结构与算法、 *** 作系统、数据库原理、计算机网络、嵌入式系统、传感器及自动检测技术、RFID技术、无线传感器网络原理及应用、无线通信原理及应用、计算机控制技术、3S技术等。
毕业生将掌握计算机软件和硬件、计算机网络、无线传感器网络、物联网应用系统设计等方面的知识能力,可从事计算机、网络、通信、控制等领域的科学研究,银行、通信、邮电、IT企业、政府机关、军事国防等行业或部门的嵌入式系统、物联网应用系统等方面的设计、开发、应用和管理工作,也可在高等院校从事相关的教学、科研等工作。

在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢?

在研究分层架构时,常通过概念性的定义或 OSI 七层应用(架构)来说明或解释分层架构:

取自《 POSA , VolI , p22 》

作为一个在项目中引入分层架构的应用者,我们应该从更具体的规范来实现分层架构:

《 POSA , VolI 》 为我们提供了更多的实现规范,然而我要解决的是有关层的 单向依赖 问题。因为有一些人在使用分层架构时,尤其是将分层架构引入到项目的目录结构时,对于某些对象的划分(从属)存在一些混乱问题。

如果你有兴趣了解更多分层架构的实现规范,可参考:《 POSA , VolI 》第二十六页到第二十九页相关知识。

在领域驱动设计(DDD)中采用的是 松散分层架构 ,层间关系不那么严格。每层都可能使用它下面所有层的服务,而不仅仅是下一层的服务。每层都可能是半透明的,这意味着有些服务只对上一层可见,而有些服务对上面的所有层都可见。

注意:松散分层架构依然是单向依赖,表明上层只能调用下层的服务,下层不能调用上层的服务。

同时在领域驱动设计(DDD)中也采用了 继承分层架构 ,高层继承并实现低层接口。我们需要调整一下各层的顺序,并且将 基础设施层 移动到最高层。

注意:继承分层架构依然是单向依赖,这也意味着领域层、应用层、表现层将不能依赖基础设施层,相反基础设施层可以依赖它们。

领域层 UserRepository 接口:

基础设施层 JpaUserRepository 实现类:

我们确实使用包来划分层级,但是包名并不能真正表示分层。

我们通常将资源库的实现放置在基础设施层,这是因为我们采用了 继承分层架构 。如果你现在采用的是 松散分层架构 ,你需要将资源库的实现放置在领域层。这是层的单向依赖原则所致,你不应该破坏这个原则。没有任何理由需要破坏分层架构的单向依赖原则,除非你不采用分层架构。

我们应该从混乱到有序的这个历史过程去研究(分析)分层架构,尤其是我们现在处在前后端分离的环境下,应用系统使用分层架构又面临着什么样的划分变化。

应用系统使用分层架构在第三阶段基本已经成熟。因为我们要探讨的是有关领域驱动设计(DDD)的分层架构,所以我们依然需要做进一步补充。具体包括两方面的补充:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/10887388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)