当前位置: 首页 > 知识库问答 >
问题:

测试kafka和flink集成流程

方浩旷
2023-03-14

例如,我想用FlinkKafkaConsumer011FlinkKafkaProducer011测试Kafka/Flink的集成。

该过程将是:

  1. 与Flink一起阅读Kafka主题
  2. 用Flink进行一些操作
  3. 和Flink一起写另一个Kafka主题

字符串为例,从输入主题中读取字符串,转换为大写,写入新主题。

问题是如何测试流量?

当我说测试时,这是单元/集成测试。

谢谢!

共有1个答案

艾晋
2023-03-14

Flink文档中有一个关于如何为转换操作符编写单元\集成测试的小文档:link。该文档还有一个关于测试检查点和状态处理的小节,以及关于使用AbstractStreamOperatorTestHarness的小节。

然而,我认为您对端到端集成测试(包括测试源和汇)更感兴趣。为此,你可以启动一个Flink迷你集群。下面是一个链接,指向启动Flink迷你集群的示例代码:link。

您还可以在JVM中启动Kafka代理,并将其用于测试目的。Flink的Kafka连接器在集成测试中就是这样做的。下面是启动Kafka服务器的示例代码:link。

如果你在本地运行,你可以使用一个简单的生成器应用程序为你的源Kafka主题生成消息(有很多可用的。你可以连续或根据不同的配置间隔生成消息)。下面是一个在本地运行时如何设置Flink的作业全局参数的示例:Kafka010Example。

另一种选择是创建一个集成环境(相对于生产)来运行端到端测试。您将能够真正感受到您的程序在类似生产的环境中的行为。总是建议有一个完整的并行测试环境——包括测试源\汇Kafka主题。

 类似资料:
  • 我正在尝试将Apache Kafka 2.11-0.10.0.0与Apache Flink 1.1.2集成。我正在使用scalashell来测试它,我得到了以下错误。 类别组织。阿帕奇。Flink。流式处理。api。检查点。未找到检查点通知程序 我已经添加了组织。阿帕奇。Flink。将jar流式传输到类路径,但这没有帮助。我一直导入到org。阿帕奇。Flink。流式处理。api。检查点。\u。这仍

  • 我有一个Flink作业,我正在使用这里描述的方法进行集成测试:https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/testing.html#integration-testing 作业从两个源获取输入,这两个源组合在一个中。在测试环境中,我目前使用两个简单的SourceFunction来发出值,但是这不提供对事件发出顺

  • 我已经建立了一个简单的Spring集成流程,该流程由以下步骤组成: 然后定期轮询一个rest api 对有效载荷做一些处理 并将其置于Kafka主题上。 请遵守以下代码: 这非常有效,然而,我正在努力想出一些好的测试。 我应该如何模拟外部RESTAPI

  • 如果是,请把我放在轨道上实现。

  • 我正在试用Kafka和Flink: 我使用flink制作人向Kafka发送推特流 如果我创建一个基本的RESTWebServices,我想我会失去流媒体的兴趣,对吗? 我应该向我的网络应用程序提供flink数据,还是应该将其发送到另一个Kafka主题,以便将其提供给网络应用程序? 非常感谢。 安托万

  • 单元测试 单元测试仅依赖于源代码,是测试代码逻辑是否符合预期的最简单方法。 运行所有的单元测试 make test 仅测试指定的package # 单个package make test WHAT=./pkg/api # 多个packages make test WHAT=./pkg/{api,kubelet} 或者,也可以直接用go test go test -v k8s.io/kubernet