Kafka架构简介

Posted 提拉没有米苏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kafka架构简介相关的知识,希望对你有一定的参考价值。

一、kafka的架构

1、Broker

    kafka集群包含一个或者多个服务器,这种服务器就叫做Broker

2、Topic

    每条发布到kafka集群的消息都有一个类别,这个类别就叫做Topic(逻辑上的概念,物理上不同的Topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或者多个broker上但是用户只需指定消息的Topic,即可生产或者消费数据而不必关心数据存储在何处)

3、Partition

    Partition是物理上的概念,每个Topic对应一个或者多个Partition

4、Producer

    负责将消息发送到kafka的broker服务器上

5、Consumer

    消息消费者,向kafka broker读取消息的客户端

6、Consumer Group

    high-level  consumer-API中,每个consumer都属于一个consumer group,每个consumer group会有多个consumer,但每个消息只能被consumer group的一个consumer消费,但可以被多个group 消费(可为每个Consumer指定consumer name,如果不指定则属于默认的group)

7、replica

   partition 的副本,保障 partition 的高可用

8、leader

   replica 中的一个角色, producer 和 consumer 只跟 leader 交互

9、follower

    replica 中的一个角色,从 leader 中复制数据

10、controller

    kafka 集群中的其中一个服务器,用来进行 leader election 以及 各种 failover

11、zookeeper

    kafka 通过 zookeeper 来存储集群的 meta 信息

二、kafka的拓扑结构

一个典型的Kafka集群包含若干个producer(可以是web端产生的page view,或者是服务器日志,系统cpu,memery等),若干个broker(kafka支持水平发生扩展,一般broker数量越多,集群吞吐率越高),若干Consumer group,以及一个zookeeper集群,kafka通过zookeeper管理集群配置,选举leader,以及在consumer group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息

以上是关于Kafka架构简介的主要内容,如果未能解决你的问题,请参考以下文章

Kafka快速入门——Kafka架构

Kafka快速入门——Kafka架构

Kafka架构设计简介

Kafka 的简介与架构

Kafka 的简介与架构

Kafka 架构和原理机制 (图文全面详解)