# Kafka Consumer获取消息形式

KafkaConsumer采用主动拉取消息的方式,消费者根据自身消费能力控制处理速度,防止被频繁推送压垮。相较于push模式,pull模式允许consumer阻塞等待新消息到达,避免无消息时的空轮询,但可能增加网络交互。
摘要由CSDN通过智能技术生成

Kafka Consumer获取消息形式

Cunsumer是被动推还是主动拉

所有消息服务消费者获取消息都会有两种形式,一种是消费者被动的接收broker推送过来的消息,另一种是消费者主动到broker上去拿消息

首先说明Kafka这个消息队列是采用的主动拉取消息的形式;接下来说一说push和pull的优缺点;

==push缺:==消息推送频率由broker控制,下游服务处理消息的速度跟不上推送速度容易把下游consumer搞崩溃了
push优: 消息系统都致力于让 consumer 以最大的速率最快速的消费消息

==pull优:==消息的处理速度由consumer自己控制,可根据自己的消费能力自己配置;不会出现consumer崩溃问题
pull缺: 如果 broker 没有可供消费的消息,将导致 consumer 不断在循环中轮询,直到新消息到达。为了避免这点,Kafka 有个参数可以让 consumer阻塞知道新消息到达(当然也可以阻塞知道消息的数量达到某个特定的量这样就可以批量发送)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值