kafka入门之基本概念

kafka:分布式发布-订阅消息系统,具有分布的、分区的、冗余的特点(下面会逐一介绍),用于处理流数据。

producer:消息和数据的生产者;可以根据生产的数据类型分成不同的topic,其中一个topic可以进行分区成多个partition,每个partition均为有序队列。partition对消息的存储直接追加到log文件尾部,并用offset唯一标识每条消息。用于数据可靠性考虑,可以对partition进行备份(replicas的个数可以配置),但只有一个partition(称为leader)用于读写,其余的replicas仅用于数据的同步。

boker(kafka):缓存代理;kafka对数据进行append操作,会减少磁盘索引时间,同时为了减少IO读写次数,boker会将数据buffer起来,等到消息的个数或大小达到阈值,才flush到磁盘中。其持久化时间可以配置,即不论consumer是否消费数据,等到配置的时间就将数据清除。

consumer:消费者;保存和使用offset,采取拉取机制进行数据的消费。一个group(订阅者)可有多个consumer,一个topic中的每个partition只会被一个group中的一个consumer消费。

注:以上仅为刚学kafka,对其中的基本组件的了解(内容浅显仅用于总结)具体可参考:http://www.cnblogs.com/likehua/p/3999538.html

 

posted on 2017-02-20 15:47  慕卿  阅读(83)  评论(0)    收藏  举报

导航