基本概念

更新时间: 2023-07-26 10:16:29

本文说明云消息队列 Kafka 版涉及的专有名词和术语,帮助您更好地理解相关概念并使用该产品。

  • Apache Kafka

    • 一款开源的分布式数据流处理平台,可以实时发布、订阅、存储和处理数据流。更多信息,请参见Apache Kafka

  • 云消息队列 Kafka 版

    • 一款由阿里云提供的Apache Kafka全托管服务,具备免部署、免运维、低成本、高弹性、高可靠、高吞吐等优势。更多信息,请参见什么是云消息队列 Kafka 版?

  • ZooKeeper

    • 一款开源的分布式应用程序协调服务。在云消息队列 Kafka 版中,ZooKeeper主要用于集群管理、配置管理、Leader选举。ZooKeeper是云消息队列 Kafka 版的一部分,您无需感知ZooKeeper。

  • Broker

    • 一个云消息队列 Kafka 版服务端节点。云消息队列 Kafka 版提供全托管服务,会根据您的实例的流量规格自动变化Broker的数量和配置。您无需关心具体的Broker信息。

  • 集群

    • 由多个Broker组成的集合。

  • 实例

    • 一个独立的云消息队列 Kafka 版资源实体,对应一个集群。

  • VPC实例

    • 仅提供专有网络VPC接入点,只能通过专有网络VPC访问。

  • 公网/VPC实例

    • 提供公网接入点和专有网络VPC接入点,可以通过公网访问,也可以通过专有网络VPC访问。

  • 升级大版本

    • 跨版本升级,例如将云消息队列 Kafka 版实例的版本从0.10.x升级至2.x。更多信息,请参见升级实例版本

  • 升级小版本

    • 非跨版本升级,例如将云消息队列 Kafka 版实例的版本从0.10升级至0.10.2,或者从0.10.2升级至0.10.2内核优化版。更多信息,请参见升级实例版本

  • 接入点

    • Producer或Consumer连接云消息队列 Kafka 版时使用的地址,由Broker的IP地址和端口号拼接而成,格式为Broker的IP地址:端口号,或由云消息队列 Kafka 版实例域名和端口号拼接而成,格式为实例域名:端口号。更多信息,请参见接入点对比

  • 消息

    • 云消息队列 Kafka 版中信息传递的载体。消息可以是网站的页面访问、服务器的日志,也可以是和CPU、内存相关的系统资源信息,但对于云消息队列 Kafka 版,消息就是一个字节数组。

  • 消息保留时长

    • 在磁盘容量充足的情况下,消息的最长保留时间。

      • 磁盘容量不足(即磁盘水位达到85%)时,将提前删除旧的消息,以确保服务可用性。
      • 默认值为72小时,取值范围为24小时~480小时。
  • 最大消息大小

    • 云消息队列 Kafka 版能收发的消息的最大值。

      • 消息的最大值上限为10 MB,不区分标准版实例和专业版实例。
      • 修改该配置前,请确认修改值是否匹配生产和消费客户端相应配置。
  • 发布/订阅模型

    • 一种异步的服务间通讯模型。发布者无需了解订阅者的存在,直接将消息发送到特定的主题。订阅者无需了解发布者的存在,直接从特定的主题接收消息。云消息队列 Kafka 版支持发布/订阅模型。更多信息,请参见云消息队列 Kafka 版的发布/订阅模型

  • 订阅关系

    • Topic被Group订阅的情况。云消息队列 Kafka 版支持查看订阅了指定Topic的在线Group的情况,非在线Group的情况无法查看。

  • Producer

    • 云消息队列 Kafka 版发送消息的应用。

  • Consumer

    • 云消息队列 Kafka 版接收消息的应用。

  • Group

    • 一组具有相同Group ID的Consumer。当一个Topic被同一个Group的多个Consumer消费时,每一条消息都只会被投递到一个Consumer,实现消费的负载均衡。通过Group,您可以确保一个Topic的消息被并行消费。

  • Topic

    • 消息的主题,用于分类消息。

  • Topic引流

    • 云消息队列 Kafka 版集群横向扩容完成后,使Topic流量重新均匀分布到扩容后的集群上的行为。更多信息,请参见Topic引流

  • 分区

    • 消息的分区,用于存储消息。一个Topic由一个或多个分区组成,每个分区中的消息存储于一个或多个Broker上。

  • 位点

    • 消息到达分区时被指定的序列号。

  • 最小位点

    • 分区的最小位点,即当前分区的首条消息的位点。如何查看当前分区的最小位点,请参见查看分区状态

  • 最大位点

    • 分区的最大位点,即当前分区的最新消息的位点。如何查看当前分区的最大位点,请参见查看分区状态

  • 消费位点

    • 分区被当前Consumer消费了的消息的最大位点。如何查看消费位点,请参见查看消费状态

  • 最近消费时间

    • Group最近消费的消息被发布到云消息队列 Kafka 版服务端的存储时间。如果消费没有堆积,那么这个时间接近发送时间。

  • 堆积量

    • 当前分区下的消息堆积总量,即最大位点减去消费位点的值。堆积量是一个关键指标,如果发现堆积量较大,则Consumer可能产生了阻塞,或者消费速度跟不上生产速度。此时需要分析Consumer的运行状况,尽力提升消费速度。您可以清除所有堆积消息,从最大位点开始消费,或按时间点进行位点重置。具体操作,请参见重置消费位点

  • Local存储

    • 使用原生Apache Kafka的ISR复制算法的存储引擎。如果您有特殊需求,例如Compact、幂等、事务、分区顺序消息等,建议您选择Local存储。更多信息,请参见存储引擎对比

  • 云存储

    • 使用阿里云云盘算法的存储引擎,充分发挥阿里云底层存储优势,其弹性伸缩、可靠性、可用性、成本都要优于Local存储。因此,在绝大多数情况下,建议您使用云存储。更多信息,请参见存储引擎对比

  • cleanup.policy

    • 日志清理策略。当您选择了Local存储时,才需配置日志清理策略。云消息队列 Kafka 版支持以下日志清理策略:

      • Delete:默认的消息清理策略。在磁盘容量充足的情况下,保留在最长保留时间范围内的消息;在磁盘容量不足时(一般磁盘使用率超过85%视为不足),将提前删除旧消息,以保证服务可用性。
      • Compact:使用Kafka Log Compaction日志清理策略。Log Compaction清理策略保证相同Key的消息,最新的value值一定会被保留。主要适用于系统宕机后恢复状态,系统重启后重新加载缓存等场景。例如,在使用Kafka Connect或Confluent Schema Registry时,需要使用Kafka Compact Topic存储系统状态信息或配置信息。
        重要 Compact Topic一般只用在某些生态组件中,例如Kafka Connect或Confluent Schema Registry,其他情况的消息收发请勿为Topic设置该属性。具体信息,请参见云消息队列 Kafka 版Demo库
  • 普通消息

    • 默认情况下,保证相同Key的消息分布在同一个分区中,且分区内消息按照发送顺序存储。集群重启或者宕机时,会导致极少量乱序。更多信息,请参见存储引擎对比

  • 分区顺序消息

    • 默认情况下,保证相同Key的消息分布在同一个分区中,且分区内消息按照发送顺序存储。集群宕机时,不会造成消息乱序。但是会出现部分分区发送消息失败的情况,等到宕机机器重新上线后即可恢复正常。更多信息,请参见存储引擎对比

  • Connector

    • 云消息队列 Kafka 版的组件,用于云消息队列 Kafka 版和其他阿里云服务之间的数据同步。更多信息,请参见Connector概述

  • 标签

    • 用于识别云消息队列 Kafka 版资源。您可以将作用相同的云消息队列 Kafka 版的资源归类,便于搜索和资源聚合。更多信息,请参见标签管理

  • RAM

    • 阿里云提供的管理阿里云用户身份与阿里云资源访问权限的服务。RAM只针对云消息队列 Kafka 版控制台和API操作,客户端使用SDK收发消息与RAM无关。更多信息,请参见权限控制概述

  • ACL

    • 云消息队列 Kafka 版提供的管理SASL用户和客户端使用SDK收发消息权限的服务,和开源Apache Kafka保持一致。ACL只针对客户端使用SDK收发消息,与云消息队列 Kafka 版控制台和API操作无关。更多信息,请参见权限控制概述

阿里云首页 云消息队列 Kafka 版 相关技术圈