You need to enable JavaScript to run this app.
导航

实例管理

最近更新时间2023.11.10 17:27:42

首次发布时间2022.11.30 19:28:20

消息队列 Kafka版提供以下实例管理相关的常见问题供您参考。

FAQ 列表

如何选择计算规格和存储规格?

消息队列 Kafka版提供多种实例规格供您选择,你可以根据业务的读写流量峰值、所需的存储空间大小和分区数量估算计算规格与存储规格。

  • 读写流量:
    • 购买时选择网卡读流量峰值和网卡写流量峰值中的较大值进行评估。
    • 建议按实际流量增加 30% 进行评估,再根据其它参数选择适合的实例规格。
  • 存储空间大小:实际占用的存储空间=业务消息体积 × 副本数 ÷ 75%
    • 支持多副本存储,存储空间包含所有副本存储空间总和。
    • 因部分存储将用于日志和元数据数据存储,冗余消息也可能带来额外的空间占用,实际可用存储会小于设置的存储规格,建议预留 25% 左右的存储空间。
  • 分区数量:根据实际的业务需求设置分区数量。每个计算规格提供一定的免费分区额度,您也可以选购更多的分区。

如何选择云盘?

创建 Kafka 实例时支持设置数据存储的云盘类型。可设置为 ESSD_FlexPL 或 ESSD_PL0。相比 ESSD_PL0,ESSD_FlexPL 拥有更高的 IOPS 性能,在消息高吞吐以及大量堆积等场景下性能更加稳定。关于不同存储类型的性能说明,请参考云盘规格

  • 对于峰值流量超过 100MB/s 的规格,应使用 ESSD_FlexPL。
  • 创建实例后不支持修改存储类型,请谨慎选择云盘类型。

如何删除或退订实例?

对于状态为运行中的实例,如果不再使用,可以清空实例中所有资源和服务,再进行删除或退订操作。

  • 对于按量付费实例:清空实例资源后,在实例列表中找到该实例,并在操作列单击删除即可。
  • 对于包年包月实例:清空实例资源后,在费用中心找到对应实例的购买订单进行退订。退订相关的费用说明请参考退订管理

是否支持压缩消息?

消息队列 Kafka版服务端支持收发压缩消息。使用压缩消息之前,您需要在消息队列 Kafka版的客户端启用消息压缩。消息队列 Kafka版支持的消息压缩格式及消耗如下。

类别

说明

支持的压缩格式

消息队列 Kafka版支持多种开源压缩格式。其中,LZ4 压缩方式对于服务端的资源消耗较高,推荐使用 Snappy 等消息压缩方式。

开启方式

Producer 的配置文件中设置参数 compression.type,该参数默认为 none,表示关闭压缩。您可以设置为 snappy,表示 snappy 开启压缩格式。

说明

消息压缩场景会额外消耗 CPU,建议在日志采集等压缩场景使用压缩,其他场景酌情考虑是否启用压缩。

是否支持多可用区部署 Kafka 实例?

消息队列 Kafka版支持多可用区部署 Kafka 实例,即支持多 AZ。多可用区部署的实例具备更强的容灾能力,全方位保障集群数据的可靠性和服务的可用性。
在购买 Kafka 实例时,部署方式设置为多可用区部署,并选择 3 个可用区即可实现跨 AZ 容灾。创建实例后,不可修改实例的部署方式,即单可用区部署的实例无法切换为多可用区部署。
对于已购买的 Kafka 实例,您可以在 Kafka 实例的实例详情页签中基本信息区域找到可用区一行,查看可用区数量。如果可用区数量大于 1,表示该实例为多可用区部署的实例。

单 AZ 实例如何切换为多 AZ?

创建实例后,不可修改实例的部署方式,即单可用区部署的实例无法切换为多可用区部署。如果需要使用多可用区实例,建议重新购买 Kafka 实例,并迁移数据到新实例中。

变更实例规格或扩容实例会影响业务吗?

消息队列 Kafka版支持变更实例的计算规格、存储规格和分区数量。其中,各项变更対实例的影响如下:

  • 变更计算规格时,服务端节点会依次滚动重启,可能造成客户端与部分节点连接闪断。升级计算规格可能会触发 Topic 分区再均衡,此时后台服务会自动进行数据迁移,推荐选择业务低峰期进行升配操作。
  • 增加存储空间、扩容分区数量不会对运行中的业务造成影响。

如何为实例增加分区?

消息队列 Kafka版每个实例规格支持一定范围的分区数量,并提供免费的分区额度。若有业务需求,可以在对应规格的分区范围数量之内购买分区,详细操作请参考升级实例规格
购买分区之后,可以参考修改 Topic 配置文档,为 Topic 增加分区数量,提高 Topic 的消息处理性能。

是否可以删除分区?

无法直接删除分区,也无法减少 Topic 已经创建的分区数量。但您可以删除 Topic,并创建新的 Topic,此时可以重新设置 Topic 的分区数量。

为什么不能减少分区?

出于开源 Apache Kafka 的限制,Topic 不支持减少分区数。

是否支持缩容?

消息队列 Kafka版暂不支持缩容,既不支持减少实例的存储空间,也不支持降低计算规格。

公网环境必须使用 SASL_SSL 吗?

公网环境可以选择 SASL_SSL 接入点或 SASL_PLAINTEXT 接入点。
您可以根据是否需要 SSL 认证来选择接入点:

  • SASL_SSL 接入点:通过 SSL 证书对消息进行鉴权和加密,保障数据传输过程的安全性,防止数据在网络传输过程中被截取或者窃听,相较于普通公网访问方式具备更高的安全性。目前支持客户端对服务端证书的单向认证。
    通过 SASL_SSL 接入点连接 Kafka 实例的操作步骤,请参考使用 SASL_SSL 接入点连接实例
  • SASL_PLAINTEXT 接入点:无需 SSL 证书认证,Kafka 客户端代码配置简单便捷。
    通过 SASL_PLAINTEXT 接入点连接 Kafka 实例的操作步骤,请参考使用 SASL_PLAINTEXT 接入点连接实例

支持哪些语言的客户端?

火山引擎消息队列 Kafka版支持开源 Apache Kafka 提供的 TCP 协议所有语言客户端 SDK,并为您提供 Java、Go、Python 等各种语言的代码示例以供参考详细说明请参考 概述

支持的消息体最大是多少?

火山引擎消息队列 Kafka版支持自定义实例和 Topic 粒度的最大消息大小,超出限制的消息无法推送成功。最大消息大小(MessageMaxByte)默认为 10MB,支持设置为 1~12MB。
调整最大消息大小的方式如下:

消息的保留时间是多久?

火山引擎消息队列 Kafka版支持自定义实例和 Topic 粒度的消息保留时长,磁盘容量充足时,超出指定保留时长的消息将被过期清理。消息保留时长(LogRetentionHours)默认为 72 小时,支持设置为 1~2160 小时。
调整消息保留时长的方式如下:

设置方式

说明

修改实例的消息保留时长参数

实例级别的消息保留时长设置对后续此实例中新创建的 Topic 生效,新 Topic 的消息保留时长默认沿用实例的配置。详细说明请参考修改实例的的参数配置
实例的消息保留时长调整不会对已创建的 Topic 生效,若有业务需求,建议手动修改已创建的 Topic 参数配置。

修改 Topic 的消息保留时长参数

Topic 级别的的消息保留时长设置仅对当前 Topic 生效。详细说明请参考修改 Topic 的参数配置
如果缩短了 Topic 的消息保留时长,后端服务会根据新的配置重新检查存量数据的保存时间,部分消息可能会被判定为已过期,继而被删除。

另外,消息队列 Kafka版通过参数自动删除旧消息提供磁盘容量阈值策略,在磁盘容量达到一定水位阈值后,消息队列 Kafka版会根据已设定的磁盘容量阈值策略,删除旧消息或暂停实例的数据写入,避免磁盘使用率达到 100% 而导致 Kafka 实例异常。在这种场景下,消息可能在未超过保留时长的情况下被提前删除,请定期关注实例的磁盘容量,在容量不足时及时升级实例规格。关于磁盘容量阈值策略的详细说明请参考磁盘容量阈值策略

支持的 Kafka 版本包括哪些?

火山引擎消息队列 Kafka版兼容开源 Kafka 2.2.2 和 2.8.2 版本,推荐您使用对应版本的 Kafka 客户端。
消息队列 Kafka版在版本上完全向下兼容,您也可以选择使用其他版本的开源 Kafka 客户端,例如自建 0.x、1.x 和 2.x 版本的 Kafka 项目,均可以选择 2.x 版本的 Kafka 实例。具体的版本兼容性如下:

Kafka 实例版本

兼容的社区版本

兼容性

2.2.2

≤ 2.2.x

100%

2.8.2

≤ 2.8.x

100%

说明

消息队列 Kafka版不保证更高客户端版本的功能兼容性,因为业务侧可能使用了更高客户端版本的特有功能,例如 mirrormaker2 等。