版本升级的最佳实践 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

版本升级的最佳实践

为了在 Kafka 版本升级过程中执行的滚动更新期间确保客户端连续性,请检查客户端和 Apache Kafka 主题的配置,如下所示:

  • 对于双可用区集群,将主题复制因子(RF)的最小值设置为 2,对于三可用区集群,将最小值设置为 3。RF 值 2 可能会导致修补期间出现离线分区。

  • 将同步副本的最小值 (minISR) 设置为最大值,RF - 1以确保分区副本集可以容忍一个副本离线或复制不足。

  • 将客户端配置为使用多个代理连接字符串。如果客户端的连接字符串中包含多个代理,则当支持客户端 I/O 的特定代理开始修补时,可以实现失效转移。有关如何获取多个代理的连接字符串的信息,请参阅获取 Amazon MSK 集群的引导程序代理。

  • 我们建议您将连接客户端升级到推荐的版本或更高版本,以便从新版本提供的功能中受益。客户端升级不受MSK集群 Kafka 版本生命周期终止 (EOL) 日期的约束,也不需要在该EOL日期之前完成。Apache Kafka 提供了双向客户端兼容性策略,允许较旧客户端与较新集群配合使用,反之亦然。

  • 使用版本 3.x.x 的 Kafka 客户端可能具有以下默认值:acks=allenable.idempotence=trueacks=all 与之前的默认值 acks=1 不同,它通过确保所有同步副本都确认生成请求来提供额外持久性。同样,enable.idempotence 的默认值以前为 false。将 enable.idempotence=true 更改为默认值可降低重复消息的可能性。这些更改被视为最佳实践设置,可能会带来少量额外延迟,但这在正常性能参数范围内。

  • 创建新MSK集群时,请使用推荐的 Kafka 版本。使用推荐的 Kafka 版本可以让你受益于最新的 Kafka 和MSK功能。