消息队列 Kafka版提供以下实例管理相关的常见问题供您参考。
消息队列 Kafka版提供多种实例规格供您选择,你可以根据业务的读写流量峰值、所需的存储空间大小和分区数量估算计算规格与存储规格。
创建 Kafka 实例时支持设置数据存储的云盘类型。可设置为 ESSD_FlexPL 或 ESSD_PL0。相比 ESSD_PL0,ESSD_FlexPL 拥有更高的 IOPS 性能,在消息高吞吐以及大量堆积等场景下性能更加稳定。关于不同存储类型的性能说明,请参考云盘规格。
对于状态为运行中的实例,如果不再使用,可以清空实例中所有资源和服务,再进行删除或退订操作。
消息队列 Kafka版服务端支持收发压缩消息。使用压缩消息之前,您需要在消息队列 Kafka版的客户端启用消息压缩。消息队列 Kafka版支持的消息压缩格式及消耗如下。
类别 | 说明 |
---|---|
支持的压缩格式 | 消息队列 Kafka版支持多种开源压缩格式。其中,LZ4 压缩方式对于服务端的资源消耗较高,推荐使用 Snappy 等消息压缩方式。 |
开启方式 | Producer 的配置文件中设置参数 说明 消息压缩场景会额外消耗 CPU,建议在日志采集等压缩场景使用压缩,其他场景酌情考虑是否启用压缩。 |
消息队列 Kafka版支持多可用区部署 Kafka 实例,即支持多 AZ。多可用区部署的实例具备更强的容灾能力,全方位保障集群数据的可靠性和服务的可用性。
在购买 Kafka 实例时,部署方式设置为多可用区部署,并选择 3 个可用区即可实现跨 AZ 容灾。创建实例后,不可修改实例的部署方式,即单可用区部署的实例无法切换为多可用区部署。
对于已购买的 Kafka 实例,您可以在 Kafka 实例的实例详情页签中基本信息区域找到可用区一行,查看可用区数量。如果可用区数量大于 1,表示该实例为多可用区部署的实例。
创建实例后,不可修改实例的部署方式,即单可用区部署的实例无法切换为多可用区部署。如果需要使用多可用区实例,建议重新购买 Kafka 实例,并迁移数据到新实例中。
消息队列 Kafka版支持变更实例的计算规格、存储规格和分区数量。其中,各项变更対实例的影响如下:
消息队列 Kafka版每个实例规格支持一定范围的分区数量,并提供免费的分区额度。若有业务需求,可以在对应规格的分区范围数量之内购买分区,详细操作请参考升级实例规格。
购买分区之后,可以参考修改 Topic 配置文档,为 Topic 增加分区数量,提高 Topic 的消息处理性能。
无法直接删除分区,也无法减少 Topic 已经创建的分区数量。但您可以删除 Topic,并创建新的 Topic,此时可以重新设置 Topic 的分区数量。
出于开源 Apache Kafka 的限制,Topic 不支持减少分区数。
消息队列 Kafka版的实例降配功能暂时处于邀测阶段,如需使用,请联系客户经理开通白名单。
公网环境可以选择 SASL_SSL 接入点或 SASL_PLAINTEXT 接入点。
您可以根据是否需要 SSL 认证来选择接入点:
火山引擎消息队列 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 的参数配置。 |
另外,消息队列 Kafka版通过参数自动删除旧消息提供磁盘容量阈值策略,在磁盘容量达到一定水位阈值后,消息队列 Kafka版会根据已设定的磁盘容量阈值策略,删除旧消息或暂停实例的数据写入,避免磁盘使用率达到 100% 而导致 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 等。