Kafka是pull还是push

1.kafka架构

        

kafka一般包含多个生产者(producer),多个Broker(kafka支持水平扩展,一般Broker越多,吞吐量越高),多个消费者(Consumer),以及一个zookeeper集群,kafka通过zookeeper来管理集群配置,选举机制以及消费者发生变化时进行Rebalance。

生产者使用push模式将消息发布到Broker,消费者使用pull模式从Broker订阅消息。

push模式很难适应消费速率不同的消费者,如果push的速度太快,容易造成消费者拒绝服务或网络拥塞;如果push的速度太慢,容易造成消费者性能浪费。但是采用pull的方式也有一个缺点,就是当Broker没有消息时,消费者会陷入不断地轮询中,为了避免这点,kafka有个参数可以让消费者阻塞知道是否有新消息到达。

2.kafka与传统消息系统之间的三大关键区别

(1)kafka持久化日志,这些日志可以被重复读取和无限期保留

(2)分布式系统:可灵活伸缩,在内部通过复制数据提高容错能力和高可用性

(3)支持实时流式处理(不明白)

3.kafka的消费者如何消费数据

消费者每次消费数据时,消费者都会记录消费的物理偏移量(offset),等下次消费时,会接着上次位置继续消费。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值