kafka简介
目录
- Kafka 是什么
- Kafka 核心组
- Kafka 整体架构以及解析
- Kafka数据处理步骤
- Kafka名词解释和工作方式
- Consumer与topic关系
- Kafka消息的分发
- Consumer的负载均衡
Kafka 是什么
- Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目,该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。
- Kafka是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。
- Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性
Kafka 核心组件
- Producer:消息生产者,产生的消息将会被发送到某个topic
- Consumer:消息消费者,消费的消息内容来自某个topic
- Topic:消息根据topic进行归类,topic其本质是一个目录,即将同一主题消息归类到同一个目录
- Broker:每一个kafka实例(或者说每台kafka服务器节点)就是一个broker,一个broker可以有多个topic
Zookeeper:zookeeper集群不属于kafka内的组件,但kafka依赖zookeeper集群保存meta信息,所以在此做声明其重要性。
Kafka 整体架构以及解析
Kafka数据处理步骤
- 1、Producer产生消息,发送到Broker中
- 2、Leader状态的Broker接收消息,写入到相应topic中
- 3、Leader状态的Broker接收完毕以后,传给Follow状态的Broker作为副本备份
- 4、Consumer消费Broker中的消息
Kafka名词解释和工作方式
- Producer
消息生产者,就是向kafka broker发消息的客户端。 - Consumer
消息消费者,向kafka broker取消息的客户端 - Topic
近期评论