事实表明,开发人员应该从小处着手,使用简单的架构,并结合分散的应用程序支持物联网平台。
在技术项目中要考虑的最重要方面之一是可扩展性,物联网也不例外。事实上,如果已经知道采用的物联网解决方案将不断添加更多设备,并需要处理越来越多的数据,那么应该首先考虑物联网的可扩展性。
具有可扩展性的物联网系统通过添加额外资源来处理越来越多的工作的能力。由于物联网技术特有的挑战,这仍然是许多开发人员面临的难题。如果不及早解决,这些挑战可能会发展成更大的问题,从而增加维护时间和延迟问题的风险。以下讨论克服物联网最棘手的可扩展性问题的三个技巧。
为什么物联网存在可扩展性问题?
在开始讨论解决方案之前,需要考虑一下为什么物联网存在特有的可扩展性问题。它们包括:
●缺乏规划阶段:在开始实施物联网项目时,需要一个强有力的概念验证 (POC) 和规划阶段。鉴于物联网项目具有多种技术和组织因素,因此在规划阶段需要考虑很多方面。然而在很多时候,这些方面是未知的或被忽视的,因为它们起初看起来无关紧要,但它们可能会对项目的增长能力产生巨大影响。
●与未来设备兼容性的不确定性:众所周知,如今有大量新的物联网设备进入市场。根据调研机构的估计,到2024年,全球连接物联网的设备数量将达到830亿台。除此之外,所有这些设备都配备了新的或更新了功能、硬件、软件。更重要的是,物联网设备也可以改变它们与物联网通信协议交互的方式。这意味着五年后添加或更换新设备的过程可能与当今完全不同。这将需要更改架构、软件或协议本身。
●预算限制:物联网开发商可能不愿意现在投资以避免在未来出现问题,因此不愿意冒险。企业在决定投资物联网之后需要解决预算问题。
技巧#1从小处着手并扩大规模
首先,如果企业扩大规模,最好在一段时间内不要急于快速增长。如果从几个可管理的设备开始实施项目,并随着时间的推移定期添加一些设备,那么就不必更改整个基础设施,也不会花费太多时间来适应它们。
话虽如此,如果企业确实采纳了这个技巧,那么需要注意的是,企业花费在适应新设备上的时间最终可能比替代设备花费的时间还要多。这是因为当企业立即实施可扩展系统时,可以一次性添加多个设备。
像大多数事情一样,这一切都取决于企业的特定物联网项目。如果规模比较小,可以逐渐扩展。但是,如果企业希望获得长期增长和可扩展性,则值得考虑更广阔的前景。
技巧#2 使用简单的架构
其次,企业从一开始就为其项目选择正确的架构可以减少未来出现的问题。此外,选择一个考虑到未来的选项很重要,而采用MQTT协议还是REST 架构是企业必须做出的决定。
对于物联网设备之间的通信,使用MQTT协议的一对多的系统对于规模较小的项目来说似乎是一个好主意。然而从根本上说,它可能没有那么有效。这是因为它的编程复杂性、延迟和安全问题,以及需要不断维护。从长远来看,企业应该使用更简单的架构。
也就是说,REST API为开发人员带来了一些好处,其中包括易用性、更好的安全性和改进的可扩展性。
技巧#3 合并一个去中心化的AEP平台
第三,企业使用分散式的物联网应用支持平台(AEP)有效扩展其物联网项目。为了解释它的优点,先要了解AEP解决方案,例如物联网或Microsoft Azure,通过云平台在物联网设备之间发送数据。因此,对于客户端与设备交互,数据必须转到外部集中式数据库并临时存储在那里。
这对于设备安全来说并不是一个好方法,因为即使数据从客户端到数据库以及从数据库到设备加密,存储在数据库中的数据仍然容易受到网络攻击。此外,由于需要通过云平台的额外步骤,传统的AEP解决方案意味着更多的延迟问题,因为所有数据流量都必须通过相同的中央“中继”设置运行。
另一方面,去中心化的AEP平台建立了从客户端到设备的直接连接。一旦建立了P2P(点对点)连接,连接的唯一限制是客户端和设备的计算能力以及两个目的地的互联网吞吐率。
这确保了物联网设备之间的低延迟、可扩展性范围,并消除了数据拦截的风险。简而言之,分散的AEP解决方案使企业可以通过降低安全风险和对通信速度的影响最小化来更轻松地扩展,无论企业的项目规模有多大。
不要忘记测试!
很多人经常忽视这个建议:测试。每当企业尝试采用或构建大规模物联网时,需要确保不断测试可能影响成功设备可扩展性的所有方面。
随着项目规模的扩大,不断进行测试至关重要。尝试记录延迟水平、连接的设备、使用的带宽量、发送和接收的消息,以及可能影响项目为增长做好准备的任何方面。
虽然物联网项目面临着独特的可扩展性挑战,但采取必要的措施对最大限度地减少这些问题大有帮助。总而言之,对于关注可扩展性的物联网开发人员来说,重要的是要认识到其挑战,制定强有力的计划阶段,并从一开始就投入必要的时间和资金,最后明智地选择架构。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/171250.html