Kafka 消息队列 --6、Kafka 核心组件 及 核心概念

本文详细介绍了Kafka的核心组件,包括Producer、Broker、Consumer Group、Consumer、Zookeeper以及Topic、Partition和Segment。Kafka是一个分布式消息队列,通过Zookeeper协调,Producer将消息推送到Broker,Consumer从Broker拉取消息。每个Topic可被分为多个Partition,保证消息有序。Consumer Group允许多个Consumer协同工作,确保消息仅被消费一次。Partition的Segment文件存储消息,通过索引快速定位。
摘要由CSDN通过智能技术生成

1、Kafka 核心组件概述

Kafka 是 LinkedIn 用于日志处理的分布式消息队列,同时支持离线和在线日志处理。 
 
Kafka 对消息保存时根据 Topic 进行归类: 

发送消息者就是 Producer,消息的发布描述为 Producer

消息接受者就是 Consumer,消息的订阅描述为 Consumer

每个 Kafka 实例称为 Broker,将中间的存储阵列称作 Broker(代理) 

然后三者都通过 Zookeeper 进行协调。 
 
Kafka 的大致工作模式:

1、启动 ZooKeeper 的 server

2、启动 Kafka 的 server

3、Producer 生产数据,然后通过 ZooKeeper 找到 Broker,再将数据 push 到 Broker 保存

4、Consumer 通过 ZooKeeper 找到 Broker,然后再主动 pull 数据 

2、Kafka 拓扑结构 

3、Kafka 的核心概念详解 

Producer : 生产 message 发送到 topic

Consumer : 订阅 topic 消费 message,consumer 作为一个线程来消费

Consumer Group:一个 Consumer Group 包含多个 consumer,这个是预先在配置文件中配置 好的

Broker:Kafka 节点,一个 Kafka 节点就是一个 broker,多个 broker 可以组成一个 Kafka 集群。

Topic:一类消息,消息存放的目录即主题,例如 page view 日志、click 日志等都可以以 topic 的形式存在,Kafka 集群能够同时负责多个 topic 的分发。

Partition:topic 物理上的分组,一个 topic 可以分为多个 partition,每个 partition 是一个有 序的队列

Segment:partition 物理上由多个 segment 组成,每个 Segment 存着 message 信息  

3.1、生产者:Producer 

学习 Kafka 一定要理解好 Topic,每个 Topic 被分成多个 partition(区)。每条消息在 partition 中的位置称为 offset(偏移量),类型为 long 型数字。消息即使被消费了,也不会被立即删除, 而是根据 broker 里的设置,保存一定时间后再清除,比如 log 文件设置存储两天,则两天后, 不管消息是否被消费,都清除。 

3.2、Kafka 集群的存储代理:Broker 

Broker 也即中间的存储队列的节点实例。我们将消息的发布者(Publisher)暂时称作 Producer,将消息的订阅者(Subscriber)表述为 Consumer,将中间的存储阵列称作 Broker(代 理)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值