我有以下情况:
我必须使用正在运行的apache flink实例对集群上的数据流进行实时处理。 Kafka是flink集群和传感器之间的数据中心。 此外,主题流完全独立,属于同一主题的不同流彼此独立。
我想象这个设置在我的脑海里: 我为每个主题设置了一个特定主题,每个主题在4个分区中分区,每个分区对应于特定人员的每个传感器。 通过这种方式,我可以为每个主题建立一个消费者群体。
实际上,我的数据量并不是很大,但我的兴趣是建立一个易于扩展的系统。也许有一天我可以拥有数百个人......
我的问题是:
摧毁我们, 并提前感谢
答案 0 :(得分:1)
您在Kafka群集中无法拥有无限数量的主题,因此,如果您计划扩展超过10,000个或更多主题,那么您应该考虑另一种设计。您可以使用个人ID作为密钥,而不是为每个人提供专用主题,并将数据作为键/值对发布到较少数量的主题。在卡夫卡,你可以拥有(几乎)无限数量的钥匙。
还要考虑更多分区。您的4个经纪人中的每一个都可以处理许多分区。如果一个主题中只有4个分区,那么在消费者组中最多只能有4个消费者并行工作(在Flink的情况下)