gpt4 book ai didi

apache-kafka - 为开发人员/集成测试环境设置Apache Kafka

转载 作者:行者123 更新时间:2023-12-04 05:31:33 24 4
gpt4 key购买 nike

我正在寻找有关如何在开发人员和集成测试环境上设置和运行Apache Kafka的建议和指示。

我希望避免在每个开发人员的计算机上手动下载并设置整个程序包,并且还希望找到一种简单的方法来进行集成测试时自动启动节点。

是否存在某种用于开发/集成测试目的的嵌入式Kafka(想为希望避免使用成熟RDBMS的Java开发人员考虑H2并行)?

我是否必须诉诸某种Vagrant解决方案?顺便说一句,我发现了以下有趣的要点:https://gist.github.com/svanellewee/8d978db827a860186569,但是它需要设置Vagrant + VirtualBox ...

最佳答案

Is there some sort of embedded Kafka for dev/integration test purposes



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>

可在以下位置获得文档:
https://kafka.apache.org/documentation/streams/developer-guide/testing.html

以下指针将有助于编写测试:
  • https://github.com/confluentinc/kafka-streams-examples-kafka-streams子文件夹包含许多端到端集成测试,这些测试可以旋转嵌入式Kafka集群,在某些情况下还可以旋转Confluent schema registry。这些应该是您自己进行测试的良好起点。
  • https://github.com/apache/kafka/tree/trunk/streams/src/test/java/org/apache/kafka/streams/integration/utils-与上一链接类似的测试工具,但包含的示例更少

  • I would like to avoid having to manually download and set up the whole package on each of the developers' machines and also find an easy way to start the nodes automatically when for integration tests.



    如果满足您的需求,上述内容可能是最简单的,因为它可以通过maven,gradle或sbt之类的工具很好地融合到现有的开发/测试过程中。

    但是,如果您需要执行更高级的测试(例如,有意中途撤下Kafka经纪人以验证您的应用程序能够在部分中断中幸存下来),则可能需要查看以下内容:
  • https://github.com/apache/kafka/tree/trunk/tests(系统和集成测试,例如使用docker)
  • https://github.com/apache/kafka/tree/trunk/vagrant
  • https://github.com/confluentinc/ducktape
  • 关于apache-kafka - 为开发人员/集成测试环境设置Apache Kafka,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645291/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com