[KAFKA] kafka的理解(二)

11.消费者包含在消费者组中,一个消费者组内同时一个分区只能同时对应一个消费者,所以可能会产生处于空闲状态的消费者。
12.消费者按照队列的形式取数,取完后把偏移量offset记录在zookeeper中,下次再取数据的时候会接着上次的位置继续取数。
13.偏移量offset存在zookeeper中,即使消费者因为硬件,网络,操作系统等原因导致失效的时候,能够保证恢复后继续取到上次的数据位置。
14.kafka解耦了数据的生成者和消费者,同时支持按需求增加broker的数量,扩展性好,数据的多副本使得kafka具有高可用,容错性,可维护性好。
15.数据的传输采用了hadoop的avro,通过数据序列化和动态的数据模式,是的kafka具有更好的可维护性。
16.kafka源码是由java,scala开发。
17.源码主要模块包括客户端的生产者和消费者,核心模块。
18.有消息请求时,broker会运行一个acceptor线程,用于创建连接,然后经由可配置数量的processer线程负责把请求放到请求队列。
19.acks的设置,1:只要leader收到消息。all:所有副本都收到消息。0:生成者发出消息就ok。

posted on 2020-09-12 17:22  larry66  阅读(136)  评论(0)    收藏  举报