更新时间:2025-09-03 GMT+08:00

购买Kafka实例

Kafka实例采用物理隔离的方式部署,租户独占Kafka实例。支持用户自定义规格和自定义特性,您可以根据业务需要定制相应计算能力和存储空间的Kafka实例。

准备实例依赖资源

创建Kafka实例前,请提前准备好如表1所示资源。

表1 Kafka实例依赖资源

资源名称

要求

创建指导

VPC和子网

Kafka实例可以使用当前账号下已创建的VPC和子网,也可以使用新创建的VPC和子网,请根据实际需要进行配置。

在创建VPC和子网时应注意:

  • 创建的VPC与Kafka实例在相同的区域。
  • 子网开启IPv6后,Kafka实例支持IPv6功能。Kafka实例开启IPv6后,客户端可以使用IPv6地址连接实例。

创建VPC和子网的操作指导请参考《虚拟私有云 用户指南》的创建虚拟私有云和子网。

安全组

不同的Kafka实例可以重复使用相同的安全组,也可以使用不同的安全组,请根据实际需要进行配置。

安全组与Kafka实例必须在相同的区域。

连接Kafka实例前,请根据连接方式配置对应的安全组,具体请参考表2

创建安全组的操作指导请参考《虚拟私有云 用户指南》的创建安全组,为安全组添加规则的操作指导请参考《虚拟私有云 用户指南》的添加安全组规则。

快速购买Kafka集群实例

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

  3. 在管理控制台左上角单击,选择“应用服务 > 分布式消息服务 Kafka”,进入Kafka实例列表页面。
  4. 单击页面右上方的“购买Kafka实例”。
  5. 在“快速购买”页签中,设置实例基础配置。

    表2 实例基础配置参数说明

    参数名称

    说明

    计费模式

    • 按需付费:一种后付费模式,即先使用再付费,按照Kafka实例实际使用时长计费,秒级计费,按小时结算。

    区域

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

    可用区

    可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    根据实际情况选择1个或者3个及以上可用区。实例创建成功后,不支持修改可用区。

  6. 设置套餐规格。

    分布式消息服务Kafka版已经预设了几种规格,请根据需要选择。磁盘类型和磁盘大小根据实际需求进行设置。Kafka实例创建后,磁盘类型不支持修改

    存储空间用于存储消息(包括副本中的消息)、日志和元数据,建议根据业务消息体积、副本数量以及预留磁盘大小选择存储空间大小。每个Kafka代理会预留33GB的磁盘空间,用于存储日志和元数据。

    创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。

  7. 设置网络信息。

    表3 实例网络参数说明

    参数名称

    说明

    虚拟私有云

    选择已经创建好的或共享的虚拟私有云。

    虚拟私有云可以为您的Kafka实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到“虚拟私有云”页面,查看或创建虚拟私有云。

    虚拟私有云在Kafka实例创建完成后,不支持修改。

    子网

    选择已经创建好的子网。

    子网在Kafka实例创建完成后,不支持修改。

    IPv6

    子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接实例。

    实例创建成功后,不支持修改IPv6开关。

    内网IP地址

    根据实际需求选择“自动分配”或“手动选择”。

    • 自动分配:系统自动分配子网中可用的IP地址。
    • 手动选择:在下拉框中勾选指定的IP地址。如果指定的IP地址数量少于代理数量时,系统会自动为剩余代理分配IP地址。

    开启IPv6后,控制台不显示此参数。

    安全组

    选择已经创建好的安全组。

    安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“创建安全组”,跳转到“安全组”页面,查看或创建安全组。

    客户端连接Kafka实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2

  8. 设置实例访问方式。

    表4 实例访问方式参数说明

    参数名称

    说明

    接入方式

    接入方式分为以下两种:

    • 明文接入:表示客户端连接Kafka实例时,无需进行SASL认证。
    • 密文接入:表示客户端连接Kafka实例时,需要进行SASL认证。

      开启“密文接入”后,需要设置SSL用户名、密码。

    内网访问不支持关闭,明文接入和密文接入至少开启一个。

    kafka安全协议

    • SASL_SSL:采用SASL方式进行认证,数据通过SSL证书进行加密传输,安全性更高。
    • SASL_PLAINTEXT:采用SASL方式进行认证,数据通过明文传输,性能更好。由于明文传输,建议使用SCRAM-SHA-512机制。

    SASL认证机制

    • 未勾选“PLAIN”时,使用SCRAM-SHA-512机制对账号密码进行认证。
    • 勾选“PLAIN”后,同时支持SCRAM-SHA-512机制和PLAIN机制,根据实际情况选择其中任意一种配置连接。

    密文接入成功开启后,SASL PLAIN机制不支持修改。

    什么是SCRAM-SHA-512机制和PLAIN机制?

    • SCRAM-SHA-512机制:采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。
    • PLAIN机制:一种简单的用户名密码校验机制。

    SSL用户名

    客户端用于连接Kafka实例的用户名。

    用户名需要符合以下命名规则:由英文字母开头,且只能由英文字母、数字、中划线、下划线组成,长度为4~64个字符。

    密文接入成功开启后,用户名不支持修改。

    密码

    客户端用于连接Kafka实例的密码。

    密码需要符合以下规则:

    • 长度为8~32个字符。
    • 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
    • 不能与用户名或倒序的用户名相同。

  9. 设置高级配置。

    表5 高级配置参数说明

    参数名称

    说明

    实例名称

    名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。

    企业项目

    该参数针对企业用户使用。

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。

    容量阈值策略

    设置磁盘使用达到容量阈值后的消息处理策略,容量阈值为95%。
    • 自动删除:可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据存在丢失的风险。
    • 生产受限:无法继续生产消息,但可以继续消费消息。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。

    Kafka自动创建Topic

    选择是否开启Kafka自动创建Topic功能。

    开启Kafka自动创建Topic功能表示向一个未创建的Topic生产或消费消息时,系统会自动创建此Topic,此Topic的默认参数值如表6所示。

    集群实例如果在“配置参数”中修改“log.retention.hours”(老化时间)、“default.replication.factor”(副本数)或“num.partitions”(分区数)的参数值,此后自动创建的Topic参数值为修改后的参数值。例如:“num.partitions”修改为“5”,自动创建的Topic参数值如表6所示。

    标签

    标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。

    如您的组织已经设定分布式消息服务Kafka版的相关标签策略,则需按照标签策略规则为Kafka实例添加标签。标签如果不符合标签策略的规则,则可能会导致Kafka实例创建失败,请联系组织管理员了解标签策略详情。

    • 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“创建预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。
    • 您也可以直接在“标签键”和“标签值”中设置标签。

    当前每个Kafka实例最多支持设置20个不同标签,标签的命名规格,请参考配置Kafka实例标签章节。

    Manager Username

    Kafka Manager名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。

    输入“manager-test”。

    Password

    设置Kafka Manager的密码。

    密码需要符合以下命名规则:

    • 长度为8~32个字符。
    • 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
    • 不能与用户名或倒序的用户名相同。

    描述

    设置实例的描述信息,长度为0~1024个字符。

    表6 Topic参数值

    参数名称

    默认值

    修改后的值

    分区数

    3

    5

    副本数

    3

    3

    老化时间

    72小时

    72小时

    同步复制

    不开启

    不开启

    同步落盘

    不开启

    不开启

    消息时间戳类型

    CreateTime

    CreateTime

    批处理消息最大值

    10485760字节

    10485760字节

  10. 单击“确认订单”,进入“确认配置”页面。
  11. 确认实例信息无误后,单击“提交”。
  12. 在实例列表页面,查看Kafka实例是否创建成功。

    创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。

    • 当实例的“状态”变为“运行中”时,说明实例创建成功。
    • 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。

      创建失败的实例,不会占用其他资源。

自定义购买Kafka集群实例

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

  3. 在管理控制台左上角单击,选择“应用服务 > 分布式消息服务 Kafka”,进入Kafka实例列表页面。
  4. 单击页面右上方的“购买Kafka实例”。
  5. 在“自定义购买”页签中,设置实例基础配置。

    表7 实例基础配置参数说明

    参数名称

    说明

    计费模式

    • 按需付费:一种后付费模式,即先使用再付费,按照Kafka实例实际使用时长计费,秒级计费,按小时结算。

    区域

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

    可用区

    可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    根据实际情况选择1个或者3个及以上可用区。实例创建成功后,不支持修改可用区。

  6. 设置实例规格信息。

    表8 实例规格参数说明

    参数名称

    说明

    版本

    Kafka的版本号,支持1.1.0、2.3.0、2.7、3.x。

    实例创建后,版本号不支持修改

    部署架构

    选择“集群”。

    代理规格

    请根据业务需求选择相应的代理规格。

    单个代理最大分区数*代理数量=实例分区数上限。当所有Topic的总分区数大于实例分区数上限时,创建Topic失败。

    代理数量

    选择代理数量。

    类型

    选择存储Kafka数据的磁盘类型。Kafka实例创建后,磁盘类型不支持修改

    容量

    选择存储Kafka数据的磁盘大小。

    存储空间用于存储消息(包括副本中的消息)、日志和元数据,建议根据业务消息体积、副本数量以及预留磁盘大小选择存储空间大小。每个Kafka代理会预留33GB的磁盘空间,用于存储日志和元数据。

    创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。

    图1 实例规格

  7. 设置网络信息。

    表9 实例网络参数说明

    参数名称

    说明

    虚拟私有云

    选择已经创建好的或共享的虚拟私有云。

    虚拟私有云可以为您的Kafka实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到“虚拟私有云”页面,查看或创建虚拟私有云。

    虚拟私有云在Kafka实例创建完成后,不支持修改。

    子网

    选择已经创建好的子网。

    子网在Kafka实例创建完成后,不支持修改。

    IPv6

    子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接实例。

    实例创建成功后,不支持修改IPv6开关。

    内网IP地址

    根据实际需求选择“自动分配”或“手动选择”。

    • 自动分配:系统自动分配子网中可用的IP地址。
    • 手动选择:在下拉框中勾选指定的IP地址。如果指定的IP地址数量少于代理数量时,系统会自动为剩余代理分配IP地址。

    开启IPv6后,控制台不显示此参数。

    安全组

    选择已经创建好的安全组。

    安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“创建安全组”,跳转到“安全组”页面,查看或创建安全组。

    客户端连接Kafka实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2

  8. 设置实例访问方式。

    表10 实例访问方式参数说明

    参数名称

    说明

    接入方式

    接入方式分为以下两种:

    • 明文接入:表示客户端连接Kafka实例时,无需进行SASL认证。
    • 密文接入:表示客户端连接Kafka实例时,需要进行SASL认证。

      开启“密文接入”后,需要设置SSL用户名、密码。

    内网访问不支持关闭,明文接入和密文接入至少开启一个。

    kafka安全协议

    • SASL_SSL:采用SASL方式进行认证,数据通过SSL证书进行加密传输,安全性更高。
    • SASL_PLAINTEXT:采用SASL方式进行认证,数据通过明文传输,性能更好。由于明文传输,建议使用SCRAM-SHA-512机制。

    SASL认证机制

    • 未勾选“PLAIN”时,使用SCRAM-SHA-512机制对账号密码进行认证。
    • 勾选“PLAIN”后,同时支持SCRAM-SHA-512机制和PLAIN机制,根据实际情况选择其中任意一种配置连接。

    密文接入成功开启后,SASL PLAIN机制不支持修改。

    什么是SCRAM-SHA-512机制和PLAIN机制?

    • SCRAM-SHA-512机制:采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。
    • PLAIN机制:一种简单的用户名密码校验机制。

    SSL用户名

    客户端用于连接Kafka实例的用户名。

    用户名需要符合以下命名规则:由英文字母开头,且只能由英文字母、数字、中划线、下划线组成,长度为4~64个字符。

    密文接入成功开启后,用户名不支持修改。

    密码

    客户端用于连接Kafka实例的密码。

    密码需要符合以下规则:

    • 长度为8~32个字符。
    • 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
    • 不能与用户名或倒序的用户名相同。

  9. 设置高级配置。

    表11 高级配置参数说明

    参数名称

    说明

    实例名称

    名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。

    企业项目

    该参数针对企业用户使用。

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。

    容量阈值策略

    设置磁盘使用达到容量阈值后的消息处理策略,容量阈值为95%。
    • 自动删除:可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据存在丢失的风险。
    • 生产受限:无法继续生产消息,但可以继续消费消息。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。

    Kafka自动创建Topic

    选择是否开启Kafka自动创建Topic功能。

    开启Kafka自动创建Topic功能表示向一个未创建的Topic生产或消费消息时,系统会自动创建此Topic,此Topic的默认参数值如表12所示。

    集群实例如果在“配置参数”中修改“log.retention.hours”(老化时间)、“default.replication.factor”(副本数)或“num.partitions”(分区数)的参数值,此后自动创建的Topic参数值为修改后的参数值。例如:“num.partitions”修改为“5”,自动创建的Topic参数值如表12所示。

    标签

    标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。

    如您的组织已经设定分布式消息服务Kafka版的相关标签策略,则需按照标签策略规则为Kafka实例添加标签。标签如果不符合标签策略的规则,则可能会导致Kafka实例创建失败,请联系组织管理员了解标签策略详情。

    • 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“查看预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。
    • 您也可以直接在“标签键”和“标签值”中设置标签。

    当前每个Kafka实例最多支持设置20个不同标签,标签的命名规格,请参考配置Kafka实例标签章节。

    Manager Username

    Kafka Manager名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。

    输入“manager-test”。

    Password

    设置Kafka Manager的密码。

    密码需要符合以下命名规则:

    • 长度为8~32个字符。
    • 至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符`~!@#$%^&*()-_=+\|[{}];:'",<.>?和空格,并且不能以-开头。
    • 不能与用户名或倒序的用户名相同。

    描述

    设置实例的描述信息,长度为0~1024个字符。

    表12 Topic参数值

    参数名称

    默认值

    修改后的值

    分区数

    3

    5

    副本数

    3

    3

    老化时间

    72小时

    72小时

    同步复制

    不开启

    不开启

    同步落盘

    不开启

    不开启

    消息时间戳类型

    CreateTime

    CreateTime

    批处理消息最大值

    10485760字节

    10485760字节

  10. 在页面右侧“配置概要”中,查看已选择的实例配置。
  11. 确认配置无误后,单击“确认订单”,进入“确认配置”页面。
  12. 确认实例信息无误后,单击“提交”。
  13. 在实例列表页面,查看Kafka实例是否创建成功。

    创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。

    • 当实例的“状态”变为“运行中”时,说明实例创建成功。
    • 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。

      创建失败的实例,不会占用其他资源。

购买相同配置的Kafka实例

若您需购买与当前Kafka实例配置一致的新实例,可通过“购买相同配置”功能,一键复用当前实例配置,快速完成新实例购买,大幅节省配置时间。

  1. 登录管理控制台。
  2. 在左上角单击,选择区域。

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

  3. 在管理控制台左上角单击,选择“应用服务 > 分布式消息服务 Kafka”,进入Kafka实例列表页面。
  4. 选择目标Kafka实例,单击“操作”列下的“更多 > 购买相同配置”,进入“购买Kafka实例”页面。
  5. 系统已自动复制目标Kafka实例的参数配置,根据需要调整待购买Kafka实例的参数配置。参数配置的详细内容,请参见自定义购买Kafka集群实例

    为安全起见,当复制的Kafka实例存在如下场景时,系统不会自动复制相应的参数配置,需要您手动配置:

    • 开启密文接入的Kafka实例,需要重新设置SSL用户名和密码。
    • 开启公网访问的Kafka实例,需要重新设置公网IP地址。
    • 指定内网IP地址的Kafka实例,需要在“内网IP地址”中重新设置为“手动选择”,并指定相应的内网IP地址。
    • 目标Kafka实例的名称不会被复制,需要重新设置Kafka实例名称。

  6. 在页面右侧“配置概要”中,查看已选择的实例配置。
  7. 确认配置无误后,单击“确认订单”,进入“确认配置”页面。
  8. 确认实例信息无误后,单击“提交”。
  9. 在实例列表页面,查看Kafka实例是否创建成功。

    创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。

    • 当实例的“状态”变为“运行中”时,说明实例创建成功。
    • 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。

      创建失败的实例,不会占用其他资源。