我正在寻找有关如何在开发人员和集成测试环境中设置和运行Apache Kafka的建议和指示.
我想避免在每个开发人员的机器上手动下载和设置整个软件包,并且还可以找到一种在集成测试时自动启动节点的简单方法.
是否存在用于开发/集成测试目的的某种嵌入式Kafka(想想想要避免成熟的RDBMS的Java开发人员的H2并行)?
我是否必须采用某种流浪汉解决方案?顺便说一句,我找到了以下有趣的要点:https://gist.github.com/svanellewee/8d978db827a860186569但它需要设置Vagrant + VirtualBox ...
是否有某种嵌入式 Kafka 用于开发/集成测试目的
Kafka 实际上包含可让您运行嵌入式 Kafka 集群的测试工具以及单元测试工具(从 2017 年的 Kafka v0.10.2.0 开始)。请参阅文档: https://kafka.apache.org/documentation/streams/developer-guide/testing.html
例如,您可以通过以下方式将相关的 Maven 工件添加到您的构建中:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams-test-utils</artifactId>
<!-- Replace with desired Kafka version. -->
<version>2.2.0</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
文档位于: https://kafka.apache.org/documentation/streams/developer-guide/testing.html
以下提示将有助于编写测试:
kafka-streams子文件夹包含许多端到端集成测试,这些测试启动嵌入式 Kafka 集群,在某些情况下还包括Confluence 模式注册表。这些应该是您自己的测试的良好起点。我希望避免在每台开发人员的机器上手动下载和设置整个包,并找到一种简单的方法在集成测试时自动启动节点。
如果满足您的需求,上面的内容可能是最简单的,因为它可以很好地融入到现有的开发/测试流程中,例如 maven、gradle 或 sbt 等工具。
但是,如果您需要执行更高级的测试(例如,故意中途关闭 Kafka 代理以验证您的应用程序是否能在部分中断中幸存),您可能需要查看:
| 归档时间: |
|
| 查看次数: |
5803 次 |
| 最近记录: |