Kafka进阶

  • Producer

    • 负责生成消息,并把消息push到broker集群中。

    • 该角色显式知道应该push到broker集群中的哪个或哪几个broker当中

  • Broker

    • 负责接收生产者push过来的消息,存储到所在的机器文件中

  • Consumer Group

    • 每个Consumer属于一个特定的Consumer Group。

    • 一条消息可以发送到多个不同的Consumer Group,但是一个Consumer Group中只能有一个Consumer能够消费该消息。

  • Consumer

    • 负责拉取(pull)broker端的消息,进行下一步的处理或是存储

  • Topic

    • 主题,类似于频道,Kafka根据topic对消息进行归类,发布到Kafka集群的每条消息都需要指定一个topic。

  • Partition

    • 物理上的概念,一个topic可以分为多个partition,每个partition对应一个broker机器当中的目录,每个partition内部是有序的,是由1个或者多个segment组成。

    • partition leader负责所有响应客户端的读写操作,partition follower是只负责同步和备份leader的数据,不响应用户端读写。

  • ZooKeeper协同服务

    • 管理broker和consumer,协同Broker集群和Consumer之间的通信

    • Kafka提供五大核心API

      • Producer API

        • 允许应用程序发布流记录到一个或多个kafka主题中。

      • Consumer API

        • 允许应用程序订阅一个或多个主题,并处理针对这些主题的数据流。

      • Connector API

        • 实现在Kafka和其他系统之间复制数据的功能,用户创建自定义的从系统中pull数据或push数据到系统的Connector(连接器)。

        • Connector有两种形式:SourceConnectors从其他系统导入数据(如:JDBCSourceConnector将导入一个关系型数据库到Kafka)和SinkConnectors导出数据(如:HDFSSinkConnector将kafka主题的内容导出到HDFS文件)

      • Streams API

        • Streams API允许程序作为一个数据流处理应用,将一个或多个topic中输入的数据进行消费,并生产数据流到一个或多个topics中。

      • Admin API

        • 支持管理和检查topic,broker,acls和其他Kafka对象。

                                    Kafka进阶_第1张图片

  • leader:负责处理消息的读和写,leader是从所有节点中随机选择的.

  • Replicas:列出了所有的副本节点,不管节点是否在服务中.

  • Isr: 英文is servering replicas的简写,即正在服务中的节点,即正常的副本,其是可以被候选为leader角色的集合

你可能感兴趣的:(kafka)