首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Kafka连接OPC-UA数据?

如何使用Kafka连接OPC-UA数据?
EN

Stack Overflow用户
提问于 2020-06-12 16:39:43
回答 4查看 1.6K关注 0票数 1

我想将opc-ua数据映射到kafka主题中。例如,没有来自confluent的spefic连接器。

我将使用eclipse/milo (https://github.com/eclipse/milo)。

EN

回答 4

Stack Overflow用户

发布于 2020-06-20 15:53:18

OPC是你的服务器,有了OPC的节点,你就有了你的data.When,你可以选择用data.You做任何事情,你可以编写一个处理程序类或服务来处理你从OPC获取的数据,server.You必须编写一个基本的类,用你喜欢的方法将数据放入Kafka或Redis或任何你需要的else.Basically中,并将其与Milo OPC一起包含在你的项目中,使用Milo node.readValue().get()读取数据,并使用Kafka的java客户端将其放在Kafka上。

票数 1
EN

Stack Overflow用户

发布于 2021-03-17 00:45:28

我曾经解决过这个问题。那是POC的工作。以下是我对此的看法。

Kafka有两个API用于与外部系统通信,分别是Kafka Client API和Kafka Connector。Kafka API简单而强大的API,但您需要实现解决方案,以便能够提供容错,并在需要时将工作分配给工人。Kafka Connect功能强大,旨在支持解决此问题的解决方案,能够让开发人员更容易点赞。

OPC服务器不能作为一个集群工作。它的工作方式类似于冗余对。您不能在OPC服务器产品中分配负载。

那么,我们真的需要一个Kafka connect集群来将数据从OPC发送到kafka吗?因为kafka connect被设计为作为微服务工作,以便能够分配负载,而它作为集群工作。但是,OPC服务器只在一台机器上工作,如果数据适合在一台机器上,那么您不需要创建单独的集群来发送数据。

你可以说

  • ,但它是一个HA (高可用性)解决方案。然后我说你的OPC服务器上有SPOF (单点故障)。所以,如果你解决了这个问题,你就不需要担心kafka连接的可用性了。我将在下面为您解释解决方案。

您正在创建额外的组件,您需要为此目的管理这些组件,而在我们的示例中,这些组件实际上并不是必需的。

我的解决方案很简单。我使用Kafka客户端API。它在安装了OPC服务器的机器上作为代理工作。所以这真的简化了问题。

我决定代理应该在进程中工作。因为,我的目的是尽可能快地将数据发送到Kafka,我需要一个快速工作的解决方案,并且需要轻量级。

进程间的通信产生了开销,我们的代理将在安装了OPC服务器的同一台机器上工作。OPC消息很小,程序很轻量级,我不想为此创建开销,决定使用进程内。因此,为了能够首先实现这一点,我寻找了OPC客户端API。

我看到有一个由OPC UA Foundation提供的用C#编写的官方客户端API。你可以在here上找到它。我也知道Java API是Kafka客户端中功能最强大的API。因此,我寻找另一个用Java编写的OPC客户端API (正如我所说的,这是因为我想在进程中使用该解决方案)。然后我发现了月食麦洛。但它在早期并未在生产环境中进行测试,因此我决定使用用C#编写的官方标准应用程序接口。

因此,我使用OPC标准库和Kafka C#客户端库。集成非常简单,但你需要考虑一些问题,比如你的程序可能会崩溃,如果你不能容忍数据丢失,你需要实现一个解决方案来将数据持久存储在像LiteDB这样的嵌入式数据库中(因为它已经用c#编写,并且可以在我们的程序中运行)。

在这个解决方案中,为了能够实现HA和消除SPOF,您可以放置一个安装在3台机器上的3 OPC服务器,并在这些机器上安装此代理软件,然后您就可以使用高可用性和容错解决方案投入生产。

PS:我们将与KepServerEX合作-我们决定支持他们,并有很多驱动程序支持-它只能在windows机器上运行。

票数 0
EN

Stack Overflow用户

发布于 2021-05-02 05:34:23

你可以用https://github.com/vogler75/automation-gateway/做到这一点。它连接到1-n OPC服务器,您可以通过GraphQL或MQTT访问OPC标签,还可以添加记录器将OPCUA值记录到Apache Kafka中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62340638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档