评估 衡量您正在考虑的技术,产品和项目的优缺点。

面向物联网应用性能挑战的开源技术

物联网给企业带来了前所未有的商业机遇,但也带来了重大的应用性能挑战。大规模物联网应用产生的数据量可以使传统的应用架构相形见绌。因此,物联网平台可能基于云平台,并越来越多地部署在混合和多云环境中。尽管如此,对实时响应的需求意味着数据必须在到达时进行大规模的吸收和分析。

想想一家生产易腐食品的公司,它依赖于一支由数千辆冷藏运输卡车组成的车队进行配送。该公司希望优化配送路线,监控卡车内部状况以确保产品质量,并收集卡车性能数据预测维护.物联网平台必须不断地摄取、处理和分析来自所有传感器和其他实时数据流的数据。

对于这样的应用程序成功,公司必须建立一个高性能数据基础架构。最实用,经济效益的做法是在今天的创新开源技术中,用于内存计算(IMC),流处理和连续机器学习。

与其他行业一样,开源产品为物联网平台和应用程序开发者提供了以下主要好处:

  • 创新 - IOT的快速演变加上竞争激烈的商业环境要求企业系统,这些系统可以快速纳入最新的创新。支持顶级开源项目的大型活动社区确保了快速创新。
  • 成本——创建物联网平台需要在软件开发、存储和计算上不可避免的支出。开源软件系统为企业提供了至少一个开发领域,在那里他们可以采用经过验证的、可靠的软件,并依赖于商用硬件,避免了专有技术的高昂前期成本。
  • 企业级支持——今天,许多开源系统都是完全支持的企业版本,使公司能够控制开发成本,同时仍然获得在生产环境中部署所需的支持。

如今,开发人员可用于实现物联网计划所需的性能和可伸缩性的顶级开源技术包括:

阿帕奇点燃

确保应用程序性能,阿帕奇点燃内存中数据网格(IMDG)可以插入到新应用程序或现有应用程序的应用程序和数据层之间,而无需对两者进行重大更改。Ignite IMDG在部署在本地、私有或公共云中或混合环境中的商用服务器集群上分布内存缓存和计算。最近发布的GridGain Community Edition是一个开源的、加固的Ignite版本,非常适合生产环境。

Ignite集群的可用内存和计算能力可用于大规模并行处理和内存中数据存储。通过添加节点并在节点之间自动重新平衡数据,可以简单地向外扩展集群。此体系结构的性能可以消除对单独事务(oltp.)及分析性(OLAP)数据库。单独的OLTP和OLAP数据库需要一个提取,转换和负载将数据复制到Analytics数据库的过程,这引入了许多用例的不可接受的延迟。

对于新开发的应用程序,Ignite可以用作内存数据库。Ignite Persistent Store特性提供了备份和恢复功能,允许公司权衡基础设施成本和应用程序性能。使用持久存储特性,活动数据集可以比可用RAM大。整个操作数据集保存在磁盘上,而只有用户定义的数据子集保存在RAM中。这种基础设施可以使用底层存储层构建,底层存储层可以使用旋转磁盘、固态驱动器、Flash、3D XPoint或其他存储类内存技术。

许多物联网用例,如自动驾驶汽车和智能城市交通系统,也受益于持续学习能力,这种能力使机器学习模型能够在无需人工干预的情况下自动不断更新。Apache Ignite提供了集成的分布式机器学习库,这些库已经为大规模并行处理进行了优化。这使得每个机器学习算法可以针对IMC集群节点上的操作数据在本地运行,这允许在不影响系统性能的情况下不断更新机器学习模型,即使是在pb级的规模。

Apache Kafka.

物联网用例产生来自多个来源的数据流。Apache Kafka.是一个用于发布和订阅记录流的开源系统,以持久的方式存储记录流,以及在发生时处理记录流。Kafka可以用作实时流数据流水线,可靠地移动到包括物联平台的所有系统和应用程序的数据。与Apache Ignite一样,Kafka在分布式计算集群上运行,可以跨越多个数据中心。Apache Ignite用户可以利用两种产品之间的本机Kafka集成,以从Kafka摄取数据流进行处理和分析。基于Apache Ignite的企业级系统,Gridgain的用户可以使用Confluent认证的Gridgain Kafka连接器,它提供比在点燃中找到的本机连接器的功能更多的功能。这些集成使得将Kafka Stream Processing合并到内存计算架构中,这提供了高性能数据处理和分析。

Kubernetes

Kubernetes是一个开源系统,用于自动化部署、伸缩和管理已经在Docker或其他容器技术中容器化的应用程序。Kubernetes确保部署在任何位置(本地部署、公共或私有云或混合环境)的服务器集群的一致性。开放api使Kubernetes能够管理Ignite和Kafka资源,并自动扩展一个基于物联网内存计算的集群。对于物联网应用程序来说,这增加了管理的方便性,可以显著降低复杂性和错误,并节省开发时间,使IT资源能够将重点放在更战略性的活动上。

希望确保物联网计划成功并从中获得最大ROI的企业在设计其应用程序架构时应包括开源技术。可靠的开源系统可以降低开发、部署和维护成本,同时还支持更多的创新。这些技术所基于的开放api使企业更容易将它们与现有系统集成,这是与专有系统相比节省成本的另一个重要的潜在领域。具体来说,Apache Ignite、Apache Kafka和Kubernetes的组合使企业能够以成本有效的方式构建和部署高性能、大规模可扩展的数据平台,从而支持高要求的物联网应用。

所有IOT议程网络贡献者负责其帖子的内容和准确性。意见是作者,不一定能够传达物联盟议程的思想。

搜索首席信息官
搜索安全
搜索联网
搜索数据中心
搜索数据管理
关闭