首页 文章

Apache Kafka有效广播

提问于
浏览
0

在关于下面第一张图片的Apache Kafka中,如果每个分区包含 the same message with different key ,即每个分区中的单个相同消息,那么第一个图像是否比第二个图像更有效 broadcast

有效的广播,我的意思是当我们有更多的消费者时,哪一个有新的延迟 sublinear to the new number of consumers . 或者它们都具有线性或上线性延迟?

我还想询问是否有可能有几个分区具有相同的单个消息 with different key ,因为我们从Kafka的文档中知道每个分区都包含不同的数据 .

是否有任何其他更有效的广播方案使用Apache Kafka,或任何实现次线性延迟广播机制的Apache Kafka API?

1 回答

  • 0

    问: I would like also to ask if it is possible to have several partitions with the same single message with different key

    答: yes it is possible kafka can have several partitions with the same single message with different key

    两种方法完全不同

    First approach

    1)您有一个主题名称 topic0 ,有三个分区,每个分区都有单个消息

    {partition0-> MES.0},{partition1-> MES.0},{partition2-> MES.0}

    2)您有一个消费者组 CONSUMER GROUP0 附加到主题 topic0 ,其中三个主题消耗主题, here is thumb rule each partition can have at most one consumer thread of same group

    CONSUMER0(消费者线程)消耗的> partition0-> MES.0-> - CONSUMER1(消费者线程)消耗的组(CONSUMER GROUP0)partition1-> MES.0-> - > group(CONSUMER GROUP0)partition2-> MES . 0->由CONSUMER1(消费者线程)消耗 - >组(消费者组0)

    这是一对一的映射,你不会得到重复的消息,每个消息将由同一组的不同线程的消费者

    Second approach

    CONSUMER0(消费者线程)消耗的> partition0-> MES.0-> - CONSUMER1(消费者线程) - >组(CONSUMER GROUP1)partition0-> MES消耗的组(CONSUMER GROUP0)partition0-> MES.0-> . 0->由CONSUMER2(消费者线程)消耗 - >组(消费者组2)

    但是在这里,您使用三个不同组的三个不同线程消耗相同的消息

相关问题