gpt4 book ai didi

java - 生成 "fake"流数据。卡夫卡-弗林克

转载 作者:行者123 更新时间:2023-11-30 10:12:17 25 4
gpt4 key购买 nike

我正在尝试生成流数据,以模拟我在不同的时间范围内收到两个值(Integer 类型)、时间戳和 Kafka 作为连接器的情况。

我正在使用 Flink 环境作为消费者,但我不知道哪个是生产者的最佳解决方案。 (如果可能,Java 语法比 Scala 更好)

我应该直接从 Kafka 生成数据吗?如果是,最好的方法是什么?或者,如果我作为生产者从 Flink 生成数据,将其发送到 Kafka 并在最后由 Flink 再次使用它,也许会更好?我怎样才能从 flink 做到这一点?或者也许还有另一种简单的方法来生成流数据并将其传递给 Kafka。

如果是,请让我走上实现它的轨道。

最佳答案

正如 David 还提到的,您可以使用 KafkaProducer API 在简单的 Java 中创建一个虚拟生产者,以根据需要安排消息并将消息发送到 Kafka。类似地,如果你想要同时有多个生产者,你可以使用 Flink 做到这一点。使用 Flink,您需要为生产者和消费者编写单独的作业。 Kafka 基本上支持异步处理架构,因此它没有队列机制。因此最好将生产者和消费者的工作分开。

但是请多想想这个测试的目的:

Are you trying to test Kafka streaming durability, replication, offset management capabilities

在这种情况下,您需要同一主题的同时生产者,在消息中使用 null 或非 null 键。

or Are you trying to test Flink-Kafka connector capabilities.

在这种情况下,您只需要一个生产者,很少有内部场景可以通过使生产者推送的消息超过消费者可以处理的消息来进行背压测试。

or Are you trying to test topic partitioning and Flink streaming parallelism.

在这种情况下,单个或多个生产者但消息的键应该是非空的,您可以测试 Flink 执行器如何连接各个分区并观察它们的行为。

您可能想要测试更多的想法,并且每个想法都需要在生产者中完成或不完成的特定内容。

您可以查看 https://github.com/abhisheknegi/twitStream 以在需要时使用 Java API 拉取推文。

关于java - 生成 "fake"流数据。卡夫卡-弗林克,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51934554/

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