码迷,mamicode.com
首页 > 其他好文 > 详细

kafka学习总结之kafka核心

时间:2017-04-11 11:55:19      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:消息推送   使用   副本   组件   集合   lead   produce   zero-copy   ons   

1、  Kafka核心组件

(1)replication(副本)、partition(分区)

一个topic可以有多个副本,副本的数量决定了有多少个broker存放写入的数据;副本是以partition为单位的,存放副本即是备份若干个partition,但是只有一个partition被选为Leader用于读写;partition(分区)数量设置最好大于consumer数量(保证每个消费者都有一个partition)。

(2)producer(生产者)

kafka中的producer可以直接发送消息到Leader partition;producer可以决定将消息推送到哪些partition;可以使用批处理(Batch)推送消息,提高效率;一个重要的参数acks(0、-1、1)

(3)consumer(消费者)

消费者分组,同一个group的consumer不能同时消费同一个partition,对于同一个group的consumer,kafka就相当于一个队列消息服务,各个consumer均衡的消费相应partition中的数据。当消费者数大于分区数时,存在leader consumer和follower consumer,leader consumer处理所有的读写请求,当leader consumer挂掉时,follower consumer会成为新的leader consumer。

2、  kafka核心特性

消息集合压缩、消息可靠性(exactly-once)、备份机制、高效性设计(磁盘线性写、B树、sendfile、zero-copy)

kafka学习总结之kafka核心

标签:消息推送   使用   副本   组件   集合   lead   produce   zero-copy   ons   

原文地址:http://www.cnblogs.com/songxh-scse/p/6692323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!