美文网首页大数据
Kafka高吞吐率的两点保障

Kafka高吞吐率的两点保障

作者: 阿猫阿狗Hakuna | 来源:发表于2018-12-06 10:15 被阅读0次

    1.消费端

           Kafka会为每个Consumer Group保留一些metadata信息——当前消费的消息的position,也即offset。这个offset是由consumer控制的,正常情况下,consumer会在消费完一条消息后递增该offset,consumer也可以把offset设置为一个较小的值重新消费一些消息。因为offset由consumer控制,所以broker是无状态的,不需要记录哪些消息被哪些consumer消费过,也不需要通过broker去保证同一个consumer group只有一个consumer能消费某一条消息,因此不需要锁机制,这为Kafka的高吞吐率提供了有力保障。

    2.生产端

           Producer发送消息到broker时,会根据Paritition机制选择将其存储到哪一个Partition。如果Partition机制设置合理,所有消息可以均匀分布到不同的Partition里,这样就实现了负载均衡。如果一个Topic对应一个文件,那这个文件所在的机器I/O将会成为这个Topic的性能瓶颈,而有了Partition后,不同的消息可以并行写入不同broker的不同Partition里,极大的提高了吞吐率。

    相关文章

      网友评论

        本文标题:Kafka高吞吐率的两点保障

        本文链接:https://www.haomeiwen.com/subject/qzywcqtx.html