在消费方面,pulsar和kafka有什么区别?

z4iuyo4d  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(423)

为了使用Kafka的数据,我们可以在一个主题上有多个消费者,完全解耦。那么,什么是 no shared consumption 在页面上(https://streaml.io/blog/pulsar-streaming-queuing)Kafka和脉冲星有哪些共同点?

pod7payv

pod7payv1#

在他的博客中,sijie将共享消息称为排队。使用队列消息传递,创建多个使用者来接收来自单个主题的消息。哪个消费者得到的信息是完全随机的。
用kafka实现消息传递模式的问题在于kafka消费者标记他们已经消费了消息的方式。Kafka消费者使用所谓的高水位线作为消费补偿。这意味着消费者只能说,“我已经处理到这一点”,而不是“我已经处理了这条消息。”
考虑这样一个场景:来自同一消费者组的多个kafka消费者从同一主题分区进行处理,其中一个消费者由于异常而失败,而另一个成功。因为kafka没有只确认单个消息的内置方法,并且只使用高水位线,所以失败的消息在实际失败时会被错误地标记为已使用,并且需要重新处理或发布到错误队列等。
为了避免这种情况,您需要每个分区只有一个使用者,这限制了主题的消耗吞吐量。这反过来要求您增加分区的数量,以满足您的吞吐量需求。
在这篇博文中有详细的解释

相关问题