Streaming 是否有任何模拟器/工具生成流媒体消息?

Streaming 是否有任何模拟器/工具生成流媒体消息?,streaming,apache-kafka,simulation,messaging,stub,Streaming,Apache Kafka,Simulation,Messaging,Stub,出于测试目的,我需要模拟每秒生成100000条消息的客户端,并将它们发送到kafka topic。是否有任何工具或方法可以帮助我生成这些随机消息?有一个用于生成虚拟负载的内置工具,位于bin/kafka producer perf test.sh()。您可以参考以了解如何使用它 一个使用示例如下所示: bin/kafka-producer-perf-test.sh --broker-list localhost:9092 --messages 10000000 --topic test --th

出于测试目的,我需要模拟每秒生成100000条消息的客户端,并将它们发送到kafka topic。是否有任何工具或方法可以帮助我生成这些随机消息?

有一个用于生成虚拟负载的内置工具,位于
bin/kafka producer perf test.sh
()。您可以参考以了解如何使用它

一个使用示例如下所示:

bin/kafka-producer-perf-test.sh --broker-list localhost:9092 --messages 10000000 --topic test --threads 10 --message-size 100 --batch-size 10000 --throughput 100000
这里的关键是
--throughput 100000
标志,该标志指示“将最大消息量限制为每秒约100000条消息”

现有答案(例如)对于性能测试非常有用,但当您需要生成的不仅仅是“单个原始字节流”时,就更不用说了。例如,如果您需要使用嵌套结构模拟更真实的数据,或者在多个主题中生成相互之间有某种关系的数据,那么这些都是不够的。因此,如果您需要的不仅仅是生成一堆原始字节,我会看看下面的备选方案

2020年12月更新:从今天起,我建议使用。一些背景信息:作者是Kafka Streams和ksqlDB Confluent的产品经理,也是的作者/开发人员

从滔滔不绝的自述中:

  • 通过与Java Faker集成来创建真实的数据
  • 跨主题关系
  • 填充记录的键和值
  • 生成基本值和复杂/嵌套值
  • 有界或无界数据流
  • 墓碑
Voluble作为卡夫卡连接器提供,便于扩展和更改序列化格式。您可以通过其RESTAPI使用Kafka Connect,也可以与ksqlDB集成。在本指南中,我将演示如何使用后者,但两者的配置是相同的。我省略了连接特定的配置,如序列化程序和需要为任何连接器配置的任务

旧答案(2016):我建议看一看,这将产生更“真实”的合成数据(是的,我知道我刚才所说的具有讽刺意味:-p):

Eventsim是一个为测试和演示生成事件数据的程序。 它是用Scala编写的,因为我们是大数据潮人(至少是这样) 有时)。它的设计目的是复制对假音乐的页面请求 网站(类似Spotify的图片);结果看起来像是真的 使用数据,但完全是假的。您可以将程序配置为 创建尽可能多的数据:只为少数用户创建数据,只为少数用户创建数据 数小时,或数年来大量用户的数据。 您可以将数据写入文件,或通过管道将其输出到ApacheKafka

你可以使用伪造的数据进行产品开发,确保正确性 测试、演示、性能测试、培训或任何其他地方 其中,真实数据流非常有用。你可能不应该 使用这些数据来研究机器学习算法,并且 不应该用它来理解真实的人的行为


您可以使用Kafka Connect生成随机测试数据。检查此自定义源连接器


它允许您定义一些设置,如消息模板和可随机化字段,以生成测试数据。另外,请查看。

我从未与卡夫卡合作过。但您是希望客户机在请求时响应大量msg,还是希望客户机请求有这么多msg?在第一种情况下,您可以使用。在第二种情况下,您可以使用。不要与支持Avro数据的另一个
kafka connect datagen
混淆-可以与SSL一起使用的任何选项?(希罗库)