Flink

fdbelqdn  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(674)

我试图生成流数据,以模拟这样一种情况:我在不同的时间范围内接收两个值,integer类型,带有时间戳,kafka作为连接器。
我使用flink环境作为一个消费者,但我不知道哪一个是最好的解决方案为生产者(java语法比scala更好(如果可能的话)
我应该直接从Kafka那里得到数据吗?如果是,最好的方法是什么?或者,如果我把Flink的数据作为制作人,发送给Kafka,最后再由Flink使用,可能会更好?我怎么能从Flink那里做到?或者也许还有另一种简单的方法来生成流数据并将其传递给Kafka。
如果是,请让我走上实现它的轨道。

cvxl0en2

cvxl0en21#

正如david还提到的,您可以使用kafkaproducerapi在简单java中创建一个虚拟生产者,以按照您的意愿调度和向kafka发送消息。类似地,如果你想要多个同时的制作人,你可以用flink来做。与Flink你将需要写一个单独的生产者和消费者的工作。kafka基本上支持异步处理体系结构,因此它没有队列机制。所以最好把生产者和消费者的工作分开。
但是,再想想这个测试的意图:
你是在测试kafka流媒体的耐久性、复制、偏移管理功能吗
在这种情况下,您需要为同一主题同时生成消息,消息中的键为null或非null。
或者你想测试flink kafka连接器的功能。
在这种情况下,您只需要一个生产者,很少有内部场景可以通过使生产者推送比消费者能够处理的更多的消息来进行背压测试。
或者您正在尝试测试主题分区和flink流并行性。
在这种情况下,单个或多个生产者但消息的键应该是非空的,您可以测试flink执行器如何与各个分区连接并观察它们的行为。
有更多的想法,你可能想测试,其中每一个都需要一些具体的事情做在生产者或不做。
你可以退房 https://github.com/abhisheknegi/twitStream 用于在需要时使用javaapi拉取tweet。

相关问题