本文说明消息队列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操作无关。更多信息,请参见 权限控制概述。