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),等下次消费时,会接着上次位置继续消费。
本文深入探讨了Kafka的架构组成,包括生产者、Broker、消费者和Zookeeper的角色及功能。阐述了Kafka如何通过持久化日志、分布式系统和实时流式处理等特性,实现高效的消息传递和消费机制。
900

被折叠的 条评论
为什么被折叠?



