首页 > 其他 > 详细

003.Kafka基本概念

时间:2015-07-18 02:17:00      阅读:195      评论:0      收藏:0      [点我收藏+]
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。
Topic:
? ? ? ? ? ? 消息源(Message)的分类。
Partition:
? ? ? ? ? ? Topic物理上的分组,一个Topic可以有多个Partition;
? ? ? ? ? ? 每个Partition存储为append log文件;
? ? ? ? ? ? 每个Partition中的Message是有序的,每个Partition存储Topic中的一部分Message;
? ? ? ? ? ? Partition中的每个Message都被分配一个有序ID(offset偏移量);
Message:
? ? ? ? ? ? 消息,最基本单位,有Producer产生并发送到Topic中;
? ? ? ? ? ? 通过分区被存储到不同的Partition中;
? ? ? ? ? ? Message的3个属性:
? ? ? ? ? ? ? ? ? ? offset ? ? ? ? ? ? ? ? ? ?偏移量long类型;
? ? ? ? ? ? ? ? ? ? MessageSize ? ? ? ?消息大小int32类型;
? ? ? ? ? ? ? ? ? ? data ? ? ? ? ? ? ? ? ? ? ?消息内容;
Producer:
? ? ? ? ? ? Message的生产者,发送Message到Topic中;
? ? ? ? ? ? 决定Message被分配存储到哪个Partition中;
? ? ? ? ? ? 支持async(异步)和批量发送消息,被缓存在Memery中;
Consumer:
? ? ? ? ? ? Message的消费者,从Topic中获取和消费Message。
? ? ? ? ? ? 每个Consumer值属于一个Consumer Group中,每个Group有多个Consumer;
? ? ? ? ? ? 一个Partition只会被每个Group中的一个Consumer消费,一个Consumer可以消费多个Partition;
? ? ? ? ? ? 将消费的消息offset保存在zookeeper中,Consumer重启时,选择最近的offset继续消费;
? ? ? ? ? ? 对于一个Topic,一个Group中的Consumer数量,不能够多于Partition的数量,否则将有Consumer接收不到Message;
Broker:
? ? ? ? ? ? Kafka集群中的一个实例;
? ? ? ? ? ? 减少IO,先将消息缓存(个数或大小),在flush到磁盘;
? ? ? ? ? ? 不保存消息状态,消息状态有Consumer保存;
? ? ? ? ? ? 消息数据默认保存7天;
?

?

003.Kafka基本概念

原文:http://nweiren.iteye.com/blog/2228262

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!