kafka(1)-概念介绍

kafka(1)-概念介绍

kafka中文官网有更较为详细的介绍。

broker

1个broker就是1个kafka节点,当你用启动命令启动1个kafka时,这个kafka实例就是一个broker。

topic

topic是主题的意思,和ActiveMQ、RabbitMQ等其他消息队列类似,表示一类消息的集合,在技术上可以理解为一个队列(当只有1个partition时就是1个队列,有多个partition就有多个队列),在业务场景中指定一个关于order(订单)的消息类别,那么这些消息的topic就是order,存储在一个名为“order”的队列中(说明一下,假设只有1个partition)。

partition

当1个topic中的消息数量太多了,为了可靠可用、处理效率等方面的考虑,就可以将1个topic拆分成多个partition,topic和partition可以理解为部队中排和班的关系,开始的时候,这个排的人数很少,编一个班就可以了,后来人数多了,另拆出一个班来。

在创建topic时就要设置partition数量,虽然创建topic完成之后可以再新增partition,但会很麻烦,会触发分区再均衡事件,对kafka性能有一定影响,如果想删除分区那就更麻烦了,后续再说。
anatomy of topic

producer

producer表示生产者,生产者可以将数据发布到所选择的topic(主题)中。生产者负责将消息分配到topic的哪一个 partition(分区)中。

consumer

consumer表示消费者,消费者从topic的partition中获取消费,至于如何处理这条消息,应用程序开发者完全自己决定。

消费者组

有时候,生产者发布消息的速率远大于消费者消费消息的速率,这样就会造成大量消息堆积在partition中,对于那些想及时处理消息的应用程序来说就不符合要求,这时可以用一个消费者组包含多个消费者,共同消费1个topic的partition。但是请注意:同一个消费者组的消费者不能在同一时间消费1个partition。

如果所有的消费者实例在同一消费组中,消息记录会负载平衡到每一个消费者实例;如果所有的消费者实例在不同的消费组中,每条消息记录会广播到所有的消费者进程。
消费者组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值