本博客文章讨论了数字孪生在工业物联网 (IIoT) 中的优势及其与 Apache Kafka 的关系。Kafka经常被用作一个中心事件流平台,以建立一个可扩展和可靠的数字孪生实时流传感器数据。
2019年11月,我参加了在纽伦堡举行的SPS会议。这是关于工业物联网 (IIoT) 的最重要事件之一。来自世界各地的供应商和与会者飞来做生意和讨论新产品。该地区的酒店价格从通常每晚80-100欧元上涨到300欧元以上。德国仍然以其卓越的工程和制造业而闻名。德国公司围绕物联网 (IoT) 和工业 4.0 推动大量创新和标准化。
您可能还喜欢:
物联网数字双胞胎的现实
本文讨论了:
- 操作技术(OT)与信息技术(IT)的关系
- 面向边缘和全球 IIoT 基础架构的开放事件流平台的优势和架构
- 利用事件流平台进行大规模实时存储和处理的数字孪生基础架构的示例和用例
SPS – 全球工业物联网供应商在德国的展会
“SPS 涵盖智能和数字自动化的整个范围 – 从简单的传感器到智能解决方案,从当今可行的技术到完全数字化的工业世界的愿景。毫不奇怪,几乎所有供应商都展示了用于创新用例的软件和硬件解决方案,例如:
- 实时状态监控
- 使用人工智能 (AI) 进行预测性维护 – 我更喜欢更现实的术语”机器学习”,这是人工智能的子集
- 在车间集成了传统机器和专有协议
- 机器人
- 新的数字服务
- 其他相关的流行语。
数字孪生作为巨大的价值主张
新的软件和硬件需要改进业务流程、增加收入和/或降低成本。许多展位展示了数字孪生解决方案,作为这个流行语宾果和价值主张的一部分。大多数供应商将完整的解决方案作为硬件或软件产品展示出来。没有人谈论潜在的实现。并非所有供应商都能详细解释基础架构在引擎盖下如何真正扩展和运行。
这篇文章从另一个方向开始。它从数字孪生基础设施的定义和使用案例开始。详细讨论了挑战和要求。之后,可能的体系结构和解决方案组合显示了开放且可扩展的事件流平台的优势,作为难题的一部分。
数字孪生的价值主张始终讨论 OT 和 IT 的组合:
- OT:操作技术;处理机器和设备
- IT:信息技术,处理信息
外泄:SPS = PLC > 每个 IoT 基础架构中的核心组件
对于非德国人来说,一个有趣的但相关的边缘说明:交易会的活动名称和首字母缩写词”SPS”代表”智能生产解决方案”英文翻译可能非常熟悉您:”P可测量Logic C上滚器”或缩短的“PLC”。
PLC是任何工业基础设施的核心组成部分。这款工业数字计算机经过加固和改造,可用于控制制造过程,例如:
- 装配线
- 机器人设备
- 任何需要高可靠性控制和易于编程和过程故障诊断的活动
PLC 能够承受极端温度、强振动、高湿度等。此外,由于它们不依赖于PC或网络,PLC将继续独立运行,没有任何连接。PLC 是 OT。这与IT 硬件软件工程师在开发和部署”正常”Java、.NET 或 Golang 应用程序时知道的非常不同。
数字孪生:融合物理世界和数字世界
数字孪生是活体或非活体实体的数字复制品。通过桥接物理世界和虚拟世界,可以无缝传输数据,使虚拟实体与物理实体同时存在。因此,数字孪生将 OT 和 IT 连接起来。
潜在和实际物理资产的数字复制品
数字孪生是指潜在和实际物理资产(物理孪生)、流程、人员、地点、系统和设备的数字复制品。数字副本可用于各种目的。数字表示提供了 IoT 设备在其整个生命周期中如何运行和运行的元素和动态。
先前研究中使用的数字孪生技术的定义强调了两个重要特征。首先,每个定义强调物理模型与相应的虚拟模型或虚拟模型或虚拟对应物之间的连接。其次,这种连接是通过使用传感器生成实时数据来建立的。
数字双胞胎连接物联网和人工智能
数字孪生连接物联网、人工智能、机器学习和软件分析,创建实时数字模拟模型。这些模型会随着物理模型的变化而更新和更改。数字孪生持续从多个来源学习和更新自身,以表示其近乎实时的状态、工作条件或位置。
此学习系统从:
- 本身,使用传感器数据来传达其工作状态的各个方面。
- 人文专家,如工程师,具有深厚相关行业领域的知识。
- 其他类似机器
- 其他类似的机器机队
- 较大的系统和环境,其中可能是它的一部分。
数字孪生子还将过去机器使用中的历史数据集成到其数字模型中。
不同行业数字孪生子的用例
在各种工业领域,数字孪生用于优化物理资产、系统和制造工艺的操作和维护。它们是 IIoT 的一种形成技术。工作场所中的数字孪生通常被视为机器人过程自动化 (RPA) 的一部分。根据行业分析公司 Gartner,数字孪生是更广泛和新兴的超自动化类别的一部分。
一些可以利用数字孪生的行业包括:
- 制造业:物理制造对象被虚拟化,并表现为数字孪生模型无缝、紧密地集成到物理和网络空间
因此,IT 基础结构还会将控制命令发送回机器 (OT) 的执行器。
工业物联网中数字双胞胎的示例
数字孪生用于各种场景。例如,它们能够优化发电设备的维护,如发电涡轮机、喷气发动机和机车。工业应用的进一步示例包括飞机发动机、风力涡轮机、大型结构(如海上平台、海上船舶)、供暖、通风和空调 (HVAC) 控制系统、机车、建筑物、公用事业(电力、煤气、水、废水网络)。
让我们更详细地看一下一些用例:
监控、诊断和预测
数字孪生可用于监控、诊断和预测,以优化资产性能和利用率。在这一领域,感官数据可以与历史数据、人类专业知识、车队和模拟学习相结合,以改善预后的结果。因此,复杂的预后和智能维护系统平台可以使用数字孪生来找出问题的根源,并提高工作效率。
还提出了嵌入交通和环境仿真的自动驾驶汽车及其传感器套件的数字孪生体,作为克服汽车应用的重大开发、测试和验证挑战的方法。特别是当相关算法基于需要大量训练数据和验证数据集的人工智能方法时。
创建数字伴侣的 3D 建模
数字孪生用于3D建模,为物理对象创建数字伴侣。它可用于查看实际物理对象的状态。这提供了一种将物理对象投影到数字世界的方法。例如,当传感器从连接的设备收集数据时,传感器数据可用于实时更新设备状态的”数字孪生”副本。
术语”设备阴影”也用于数字孪生的概念。数字孪生是物理对象属性和状态的最新和准确副本。这包括形状、位置、手势、状态和运动等信息。
嵌入式数字孪生
一些制造商在他们的设备中嵌入了数字孪生。这提高了质量,允许更早地检测故障,并更好地向产品设计人员提供有关产品使用情况的反馈。
如何构建数字孪生基础设施?
TL;DR:你需要在正确的位置实时获得正确的信息,以便能够分析数据并正确操作。否则,您将进行如下对话:
构建可扩展、可靠的数字孪生的挑战和要求
要成功实施数字孪生基础架构,必须解决以下挑战:
- 连接:不同的机器和传感器通常不提供相同的接口
但是,许多(较旧的)计算机使用专有接口。此外,您还需要集成到企业的其余部分。
上述清单涵盖技术要求。最重要的是,必须提供商业服务。这包括设备管理、分析、Web UI/移动应用以及其他功能,具体取决于您的使用案例。
那么,你是怎么到的呢?让我们在以下各节中讨论三个备选方案。
解决方案#1 > 物联网 / IIoT COTS 产品
COTS(商用现成)是现成的软件或硬件产品,可供销售。IIoT COTS 产品完全针对一个问题:IoT 用例的开发、部署和操作。
许多物联网COTS解决方案都在市场上提供。这包括西门子MindSphere、PTC物联网、GE Predix、日立Lumada或思科动力等产品,用于在数据中心或不同云中部署。
AWS、GCP、Azure 和阿里巴巴等主要云提供商提供特定于 IoT 的服务。如果您对供应商锁定的权衡感到满意,云提供商是一个潜在的替代方案。 主要优势是:将原生集成到云提供商的生态系统中。主要缺点:锁定云提供商的生态系统。
在 SPS 展会上,100 多家供应商展示了他们的 IoT 解决方案,以连接车间、将数据引入数据中心或云以及进行分析。通常,许多不同的工具、产品和云服务相结合,以解决特定问题我已经更详细地讨论了使用单个集成基础架构与许多不同的中间件组件的讨论。
阅读Gartner 2019 年工业物联网平台魔力象限。分析报告描述了大多数IIoT产品的谎言。大量的收购和不同的代码库是许多商业产品的基础。可扩展性和自动推出是关键挑战。使用付费 Gartner 帐户或通过从任何具有分发权限的供应商(如PTC) 免费下载,可以下载报告。
专有和特定于供应商的功能和产品
自动化行业通常使用专有和昂贵的产品。所有这些产品都作为灵活的云产品进行销售。事实是,他们中的大多数并不是真正的云原生。这意味着它们不可扩展,并且无法像云原生服务期望的那样扩展。我过去从最终用户那里听到的一些问题:
- 未提供可伸缩性。许多产品不使用可扩展的体系结构。相反,如果需要缩放,将添加其他黑框或单体。这挑战了正常运行时间的 S.A 以及操作和成本的负担。
- 有些供应商只是将其传统的内部部署解决方案部署到 AWS EC2 实例中,并将其称为云产品。这与云原生相去甚远。
- 甚至来自一些全球云提供商的 IoT 解决方案也不足以实施大型 IoT 项目(例如,连接到 100 万辆汽车)。我看到几家公司正在评估云原生 MQTT 解决方案。之后,他们去了特定的 MQTT 提供商(但仍使用云提供商为其其他出色的服务,如计算资源、分析服务等)。
- 大多数完整的 IoT 解决方案都使用许多不同的组件和代码库。即使您购买一种产品,基础结构通常也会使用各种技术和 (OEM) 供应商。这使得开发、测试、推出和全天候端到端操作变得更加困难和成本。
具有专有协议的长产品生命周期
在自动化行业,产品生命周期很长(几十年)。简单的更改或升级是不可能的。
IIoT通常使用不兼容的协议。通常,不仅产品,而且这些协议都是专有的。它们只是为特定供应商的硬件和机器而构建的。西门子S7,Modbus,艾伦布拉德利,贝克霍夫ADS,仅举几例这些协议和”标准”。
OPC-UA 得到越来越多的支持。这是一个真正的标准。然而,它有开放标准的所有优点和缺点。供应商通常执行不力,需要 PLC 顶部的应用程序服务器。
在我见过的大多数方案中,还需要连接到来自不同供应商的机器和传感器。即使在单个工厂中,您通常也有许多不同的技术和通信模式进行集成。
不仅仅是机器和 PLC…
无论您如何集成到车间机器中;这只是从企业获取与其他系统相关的数据的第一步。与车间内所有机器的连接是不够的。物联网数据与其他企业应用程序的集成和组合至关重要。您还希望在数据中心或云中提供和销售其他服务。此外,您甚至可能希望与合作伙伴和供应商集成您可以提供自己不出售的功能。
因此,IoT COTS 解决方案不能解决所有挑战。建立一个开放、灵活、可扩展的平台有着巨大的需求。这就是为什么ApacheKafka在很多项目中作为一个事件流平台发挥作用的原因。
解决方案#2 > Apache Kafka 作为数字孪生基础设施的事件流平台
Apache Kafka 提供了许多现成的业务和技术特征:
- 由于开放式核心原则而降低成本
- 无供应商锁定
- 灵活性和可扩展性
- 可 伸缩 性
- 基于标准的集成
- 基础设施、供应商和技术无关
- 应用程序和机器的分离
Apache Kafka:一个不可改变的分布式日志,用于实时处理和长期存储
我想你已经知道阿帕奇卡夫卡:实时事件流的实际标准。阿帕奇卡夫卡提供以下特点:
- 开源(Apache 2.0 许可证)
- 全球规模
- 大容量消息传送
- 实时
- 用于源和接收器备份和分离的持久存储
- 连接(通过卡夫卡连接)
- 连续流处理(通过卡夫卡流)
所有这些都包括在阿帕奇卡夫卡框架中。完全独立于任何供应商。充满活力的社区,有数千名来自数百家公司的贡献者。任何行业都采用。
如果您需要更多有关阿帕奇卡夫卡的详细信息,请查看卡夫卡网站、丰富的Confluent 文档,或来自所有 Kafka 峰会活动的数百个免费视频录制和幻灯片,了解技术和使用案例。
卡夫卡与工业物联网、车间和构建数字孪生兄弟的关系如何?让我们快速了解一下 Kafka 的大规模集成和连续数据处理功能。
连接到工业控制系统 (ICS)
Kafka 可以连接到制造控制操作的不同功能级别:
- 直接集成到 1 级 (PLC/DCS):Kafka Connect 或任何其他 Kafka 客户端(Java、Python、.NET、Go、JavaScript 等)可以直接连接到 PLC 或 OPC-UA 服务器。数据直接从计算机和设备中引入。查看“Apache Kafka、KSQL 和 Apache PLC4X 用于 IIoT 数据集成和处理“的示例,以与西门子 S7 和 Modbus 等不同的 PLC 协议进行大规模实时集成。
- 在 2 级(工厂监督)或 3(生产控制)或 4(生产计划)上集成:例如,您通过 REST/HTTP 接口或任何 MQTT 支持的工厂监督或生产控制基础结构与 MES/ERP/SCM 系统集成。博客文章“IoT 和事件流与 MQTT 大规模“讨论了几个不同的选项
IT 不会直接与现场总线、交换机或终端节点中的传感器和执行器集成。将来这种情况可能会改变。传感器变得更智能、更强大。网络”最后一英里”的新标准不断涌现,比如10BASE-T1L。
我们讨论了 IT 和 OT 基础结构之间的不同集成级别。然而,从 IT 连接到 PLC 和车间只是故事的一半…
与 MES、ERP、SCM、大数据、云和企业的其他部分的连接和数据引入
卡夫卡连接使卡夫卡与任何其他系统可靠和可扩展的集成。这一点很重要,因为您需要将来自 PLC 的传感器数据与企业其余部分的应用程序和数据库集成和关联。卡夫卡连接提供源和接收器
- 像甲骨文或SAP哈纳这样的数据库
- 大数据分析,如哈多普、火花或谷歌云机器学习
- 企业应用,如 ERP、CRM、SCM
- 使用自定义连接器或 Kafka 客户端的任何其他应用程序
与卡夫卡在数字孪生上实时进行连续流处理和流分析
从机器到其他系统的实时管道规模只是整个故事的一部分。您还需要持续处理数据。例如,您可以实现流式 ETL、使用分析模型进行实时预测,或者执行任何其他业务逻辑。
Kafka Streams允许编写标准的Java应用程序和微服务,使用轻量级的流处理JavaAPI来持续实时处理您的数据。您还可以使用ksqlDB使用SQL语义进行流处理。两个框架都使用卡夫卡原生在引擎盖下。因此,您可以利用所有 Kafka 原生功能,如高吞吐量、高可用性和零停机时间开箱即用。
当然,与其他流解决方案(如 Apache Flink、Spark 流、AWS Kinesis)或其他商业产品(如 TIBCO 流Base、IBM 流或软件 AG 的 Apama)集成是可能的。
Kafka是如此伟大和广泛采用,因为它分离所有源和接收器彼此利用其分布式消息传递和存储基础设施。智能端点和哑管是使用 Kafka 自动通过域驱动设计 (DDD) 分离服务的关键设计原则:
Kafka » 机器学习/深度学习 » 工业物联网的实时预测
Kafka 和数字双胞胎机器学习的结合与其他行业没有什么不同。但是,IoT 项目通常通过实时流式处理传感器数据生成大数据集。因此,Kafka – 机器学习在物联网项目中比在缺乏大数据集的许多其他项目中更有意义。
分析模型需要大规模应用。预测通常需要实时进行。数据预处理、特征工程和模型培训也需要尽快进行。大规模实时监控整个基础架构也是一项关键要求。这不仅包括车间中的机器和传感器的基础架构,还包括整个端到端边缘到云基础架构。
考虑到这一点,您很快就明白机器学习/深度学习和 Apache Kafka 非常互补请在此处开始了解更多详情:
- 博客文章:如何使用 Apache Kafka 在生产中构建和部署可扩展机器学习
- 幻灯片甲板:阿帕奇卡夫卡 + 机器学习 > 智能实时应用
- 视频录制:具有开源框架的基于任务关键和可扩展的实时应用程序中的深入学习
Kafka + ML + IoT 示例:使用固件中的分析模型在边缘嵌入系统
让我们讨论一个卡夫卡 + ML + IoT 边缘的快速示例:嵌入式系统非常不灵活。很难更改代码或业务规则。固件中的代码适用于输入和硬件外。代码嵌入实现业务规则。但是,新的代码或业务规则不能简单地使用脚本或连续交付来部署,就像您从您最喜爱的 Java / .NET/Go/Python 应用程序以及 Maven 和 Jenkins 等工具中知道那样。相反,每个更改都需要一个新的、漫长的开发生命周期,包括测试、认证和制造流程。
还有另一个选项,而不是使用复杂且昂贵的过程在代码中编写和嵌入业务规则:分析模型可以基于历史数据进行训练。这可能发生在任何地方。例如,您可以通过Kafka 将传感器数据引入云中的数据湖中。该模型在弹性和灵活的云基础架构中进行了培训。
最后,将他的模型分别部署到嵌入式系统中,使用此模型创建了新的固件版本(使用漫长而昂贵的过程)。但是,更新(即改进)模型(已在嵌入式系统上部署)变得容易得多,因为无需更改任何代码。模式是”只是”重新训练和改进。
通过这种方式,可以通过改进嵌入式系统中已经部署的模型来更新和改进业务规则。无需新的开发生命周期、测试和认证以及制造流程。SSV软件的DNP/AISS1是硬件入门套件的一个示例,带有预安装的ML算法。
解决方案#3 > Kafka + IIoT COTS 产品作为数字孪生的补充解决方案
以上各部分介绍了如何使用 IoT COTS 产品或事件流平台(如 Apache Kafka 及其生态系统)来构建数字孪生基础设施。有趣的是,卡夫卡和物联网COTS实际上是结合在大多数部署,我见过到目前为止。
大多数 IoT COTS 产品提供开箱即用的 Kafka 连接器,因为最终用户一直要求此功能。让我们更详细地讨论卡夫卡和其他物联网产品的组合。
卡夫卡是西门子MindSphere或思科动力等行业解决方案的补充
卡夫卡可用于非常不同的场景。它最适合构建可扩展、可靠和开放的基础架构,以在边缘和企业的其他部分集成 IoT。
然而,卡夫卡并不是每个问题的灵丹妙药。特定的物联网产品可能是集成和处理物联网接口和车间车间的更好选择。这取决于具体要求、现有生态系统和已经使用的软件。需要评估解决方案的复杂性和成本。”构建与购买”始终是一个有效的问题
卡夫卡和物联网解决方案的不同组合
像 Kafka 这样的均匀流式处理平台与一个或多个其他 IoT 产品或框架的组合很常见:
有时,车间连接到 IoT 解决方案。IoT 解决方案用作网关或代理。这可以是一个广泛、强大(但更复杂和更昂贵的)解决方案,如西门子MindSphere。或者选择部署”只是”一个特定的解决方案,一个更轻量级的解决方案来解决一个问题。例如,HiveMQ 可以部署为可扩展的 MQTT 群集,以连接到计算机和设备。此 IoT 网关或代理连接到卡夫卡。Kafka 部署在同一基础设施或另一个数据中心或云中。Kafka 群集连接到企业的其余部分。
在其他方案中,Kafka 用作 IoT 网关或代理,可直接连接到 PLC 或分布式控制系统 (DCS)。然后,Kafka 连接到 IoT 解决方案,如 AWS IoT 或 Google 云的 MQTT 桥,在那里进行进一步的处理和分析。
沟通通常是双向的。无论您选择何种架构。这意味着数据是从车间引入、处理和关联,最后,控制事件被发送回计算机。例如,在预测分析中,您首先使用云中的 TensorFlow 等工具训练分析模型。然后,在边缘部署分析模型以进行实时预测。
Eclipse Ditto:一个专用于数字孪生体的开源框架,卡夫卡集成
当然,市场上不仅存在商业 IoT 解决方案。Kafka 是对 COTS 物联网解决方案和开源 IoT 框架的补充。Eclipse IoT 单独提供各种不同的 IoT 框架。让我们来看看其中之一,它非常适合这个博客文章。
让我们来看看Eclipseditto,一个用于构建数字孪生数字的开源框架。使用 Kafka 的分离原则,直接利用其他框架执行特定任务。
Ditto的创建是为了帮助实现数字双胞胎与开源API。它提供了设备即服务、数字孪生的状态管理以及用于组织数字孪生集的 API等功能。卡夫卡集成内置成开箱即用。因此,迪托和卡夫卡在构建数字孪生基础设施方面非常互补。
世界是混合和多语种
在技术和标准方面,世界是混合和多语种。不同的机器使用不同的技术和协议。每个工厂都使用自己的框架、产品和标准。业务部门使用不同的分析工具,并不总是相同的云提供商。等等…
用于数字孪生边缘、本地、混合和多云部署的全球 Kafka 架构
Kafka 通常不仅仅是集成 IoT 设备和其他企业的支柱。越来越多的公司在不同的区域、设施和云提供商部署多个 Kafka 集群。
Kafka 部署的正确体系结构取决于用例、S.SA 和许多其他要求。如果你想构建一个数字孪生架构,你通常要考虑边缘和数据中心/云基础设施:
com.cn/wp-content/uploads/2019/12/Global-Kafka-Architecture-with-Edge-Deployments-1024×459.png”宽度=”1024″/*
阿帕奇卡夫卡作为全球神经系统的流数据
使用 Kafka 作为全球神经系统进行流数据通常意味着您旋转不同的 Kafka 簇。以下方案很常见:
- 店面的本地边缘卡夫卡集群:每家工厂都有自己的卡夫卡集群,与机器、传感器和装配线集成。此外,还有ERP系统、SCADA监控工具和来自工人的移动设备。这通常是一个非常小的 Kafka 群集,例如三个经纪商(仍然可以处理 [100] MB/秒)。有时,部署一个卡夫卡经纪人。如果您不需要高可用性,并且喜欢低成本和非常简单的操作,这很好。
- 中部地区卡夫卡集群:卡夫卡集群部署在不同地区。每个 Kafka 群集都用于从该区域的不同工厂或区域内的所有汽车中引入、处理和聚合数据。这些 Kafka 群集比本地的 Kafka 群集大,因为它们需要集成来自多个边缘卡夫卡群集的数据。集成可以通过 Confluent 复制器轻松可靠地实现,或者将来可以使用 MirrorMaker 2(如果随着时间的推移成熟)。不要使用镜像制造商1 – 你可以在网上找到许多好的理由。另一种选择是将部署在边缘的卡夫卡客户端直接集成到一个中央区域卡夫卡集群。使用使用 Java、C、C++、Python、Go 或其他编程语言的 Kafka 客户端。或者使用中间的代理,如 Confluent REST 代理、Confluent MQTT 代理或 Kafka 环境之外的任何 MQTT 代理。在此处了解有关比较 Kafka 的不同 MQTT 和基于 HTTP 的 IoT 集成选项的详细信息。
- 多区域或全局卡夫卡集群:您可以在每个区域或大陆部署一个卡夫卡集群。然后使用 Confluent 复制器实时复制彼此之间的数据(单向或双向)。或者,您可以利用 Confluent 平台的多数据中心复制 Kafka 功能,在不同区域上启动一个逻辑群集。后者提供自动故障转移、零数据丢失以及服务器和客户端操作的简化。
这只是在边缘、本地或云中 Kafka 群集的部署选项的快速摘要。您通常组合不同的选项来部署混合和全局 Kafka 基础结构。通常,从一条管道和一个 Kafka 群集开始。从一开始就应将全球扩展的扩展和推出纳入规划。2020 年 2 月,在亚特兰大的 DevNexus 上,我将更详细地介绍分布式、混合和全球 Apache Kafka 部署的不同”体系结构模式和最佳实践“。这是2020年另一篇博客文章的好话题。
多聚体基础设施:中国和俄罗斯没有 AWS、GCP 或 Azure 云
对于全球部署,您需要选择合适的云提供商,或在某些不同区域构建自己的数据中心。
例如,您可以利用Confluent 云。这是一个 f ully 管理的 Kafka 服务,在 Azure、AWS 或 GCP 上,在欧洲和美国采用基于使用情况的定价和企业就绪 S.A。康康云是一种真正的无服务器方法。无需考虑卡夫卡经纪商、运营、可扩展性、再平衡、安全性、微调、升级。
美国云提供商不在中国提供云服务。阿里巴巴是领先的云提供商。卡夫卡可以部署在阿里云上。或者选择像 Kubernetes 这样的通用云原生基础结构
俄罗斯根本没有公共云。究其原因,主要是法律限制。卡夫卡必须部署在本地。
在某些情况下,来自不同区域的不同 Kafka 群集的数据被复制和聚合。来自各大洲的一些匿名传感器数据可以关联以发现新的见解。但是,某些特定的用户数据可能总是停留在原产国和本地区域。
标准化基础架构模板和自动化
许多公司在特定抽象级别上构建一个通用基础结构模板。然后,可以以相同的方式将此模板部署到不同的数据中心和云提供商。这标准化并简化了全球 Kafka 部署中的操作。
云原生库贝内特,用于强大的物联网和自我修复、可扩展的卡夫卡群集
今天,Kubernetes经常被选择作为抽象层。Kubernetes 由云提供商(例如 GCP 上的 GKE)或本地运营团队部署和管理。Kubernetes 顶部的所有必需基础结构都使用模板框架(例如 Terraform)编写脚本并实现自动化。然后,可以以相同的标准化和自动化方式向不同的区域和基础设施推出。
这同样适用于库贝内特斯山顶的卡夫卡基础设施。您可以利用现有工具(如 Confluent 运算符)或构建自己的脚本和自定义资源定义。Kubernetes的Kafka运营商内置了多种功能,如自动处理故障转移、滚动升级和安全配置。
为您的数字孪生基础架构找到合适的抽象级别:
当然,您还可以使用开源Kafka Ansible脚本等工具来部署和操作卡夫卡生态系统(包括架构注册表或Kafka连接等组件)。
然而,像Kubernetes这样的云原生基础设施的美妙之处在于其自我修复和稳健的特点。预期会失败。这意味着,在节点或网络发生故障的情况下,您的基础结构将继续运行而不会造成停机或数据丢失。
如果您部署数字孪生基础架构并将其推广到不同的区域、国家/地区和业务单位,这一点非常重要。许多故障是自动处理的(在连续操作方面,没有停机或数据丢失)。
并非所有故障都需要 P1 和拨打支持热线。系统继续运行,而一个运营团队可以在没有时间压力的情况下替换后台的缺陷基础结构。这正是将强大的 IoT 解决方案部署到大规模生产中所需的。
阿帕奇卡夫卡作为数字双胞胎为10万连接汽车
最后,让我们以一个具体的例子来构建一个使用卡夫卡生态系统的数字孪生基础设施。我们使用汽车行业的一种实施。但是,这适用于任何您想要构建和利用数字孪生的情况。在此处阅读更多关于”汽车行业 Apache Kafka 的用例“
老实说,这个演示并不是在创建数字孪生基础设施时想到的记住我们从文章开头的定义:数字孪生是活的或非活的物理实体的数字复制品。因此,正确的体系结构和技术的决策取决于用例。
我们构建了一个演示,展示了如何与数以万计或数十万个 IoT 设备集成并实时处理数据。演示用例是互联汽车基础设施中预测性维护(即异常检测),用于预测电机发动机故障:”使用 HiveMQ、Apache Kafka 和 TensorFlow 从 100000 台 IoT 设备构建用于大规模流式机器学习的数字孪生。
在此示例中,来自 100000 辆汽车的数据被引入并存储在 Kafka 群集中,即数字孪生,以便进行进一步处理和实时分析。
Kafka 客户端应用程序以不同的速度使用不同用例和/服务速度的数据:
- 使用来自数字孪生的数据与卡夫卡流和 KSQL/ksqlDB 进行实时数据预处理和数据工程。
- 流模型训练(即中间没有数据湖)与马辛学习/深度学习框架TensorFlow及其Kafka插件(TensorFlow I/O的一部分)。在我们的示例中,我们训练两个神经网络:用于异常检测的无监督自动编码器和受监督的 LSTM。
- 模型部署,用于实时推断新车传感器事件,以预测发动机的潜在故障。
- 将数据输入另一个批处理系统、数据库或数据湖(Oracle、HDFS、弹性、AWS S3、Google 云存储等)。
- 另一个使用者可以是实时时间序列数据库,如 InfluxDB 或 TimescaleDB。
使用卡夫卡及其开放生态系统构建您自己的数字孪生基础设施!
我希望这篇文章给你一些见解和想法。我描述了为数字孪生构建基础设施的三个选项:1) 物联网 COTS,2) 卡夫卡,3) 卡夫卡 + 物联网 COTS。许多公司利用 Apache Kafka 作为其物联网基础设施的中枢神经系统。
数字Twin只是事件流平台的众多可能的物联网用例之一。通常,卡夫卡是解决方案的”公正”部分。选择适合您的用例的工具。评估 Kafka 生态系统和不同的 IoT 框架/解决方案,为您的项目找到最佳组合。
不要忘记将愿景和长期规划纳入您的决策!如果你从一开始就计划它,它(相对)直接开始与试点或MVP。然后将其推广到第一个工厂投入生产。随着时间的推移,部署全球数字孪生基础设施!