物联网会话时长

物联网 aws-iot aws-greengrass
2021-05-31 04:07:25

Linux 机器将测量结果发送到 AWS-RDBMS。python 脚本打开和关闭连接的时间仅足以将数据上传到数据库(更新后立即关闭会话)。另一种方法是,该框打开与数据库的无限期会话并更新 RDBMS:不确定如果互联网连接失败会出现什么问题,并且不确定在面临不稳定的互联网连接时连接的“持久性”程度。在规模上,可能有数百个测量框将数据上传到 RDBMS。

关于 python IoT 会话连接持续时间的最佳实践是什么?传输数据后关闭会话是最佳做法吗?也许定义一个在数据传输后开始的空闲时间:如果空闲时间超过预定义的时间量,则关闭通道。任何解释最佳实践背后的原因的奖金。

也许这个问题取决于平台?即 RDBMS 与 AWS Greengrass?

2个回答

物联网给聚会带来的变量至少是规模和能量。与 5 年前如何回答这个问题相比,您可能还认为安全性/弹性受到不同的限制。关于 SO的“根本”问题已经有 7 年的历史了,而且不是很受欢迎。

交易频率和建立经过身份验证的连接的成本可能是主要驱动因素,无论是在数据带宽还是能源成本方面。

保持连接打开是否需要成本?与更琐碎的“打开-使用-关闭”相比,管理“主要是持久的”连接需要付出多少努力?哪种方法会最快地导致资源争用(假设您的产品计划大规模扩展)?

将来您是否可能将代码/协议进一步迁移到网络边缘(或将云功能迁移到更靠近边缘的位置)?这些潜在的迁移可能会改变您的限制条件,或者您可能更愿意推迟潜在的软件投资。

虽然您正在使用 IOT 会话,但这不是一个 IOT 问题,只是一个通用的套接字问题,因此,在 Google 和Stack Overflow上有很多很多答案

基本上,没有“正确”的答案,您只需要考虑您的情况。

一般来说,实现“每次交易后关闭”更容易,因为您不需要那么多“哎呀,我当前打开的会话意外关闭”代码。这是我一直采用的方法,也是工业中最常用的方法。

但是,如果您需要发送频繁的数据包(大小不重要,重要的是频率),那么在每个数据包之后关闭和重新打开的开销可能会导致性能问题。

你付钱,你选择:-)