kafka消费者分区消费策略

前言

在上一篇,我们谈到了从生产者一端,kafka是基于何种策略,将消息推送到集群下topic的不同分区中,可以使用kafka自带的分区策略,也可以根据自身的业务定制消息推送的分区策略

而从消费者一端来看,consumer连接到kafka集群之后,是基于什么样的分区策略进行消息消费的呢?

kafka消息消费原理

在这里插入图片描述
如上图所示,kafka的设计架构让它从开始就为分布式而生,上图是一个简单的消息消费示意图,我们知道,一个topic下可以设置多个分区,每隔分区又可以设置多个副本

消费者从topic拉取消息的时候,实际上就是从topic下的各个分区获取消息,在实际应用中,为提升和最大化发挥kafka的吞吐量和整体性能,在设计消费端的程序时,往往通过设置消费者组,通过消费者组中的多个消费者共同去消费分区中的数据

这样做的好处很明显,提升了整体消费的效率,由于kafka往往应用在数据量非常大的场景中,单个消费者肯定很难支撑kafka每秒上万的消息投递量,通过设置消费者组就可以达到高速消费的目的,最大化利用服务器性能

在程序中我们可以看到如下的配置:

猜你喜欢

转载自blog.csdn.net/zhangcongyi420/article/details/111823977