自动创建Topic是指当云消息队列 Kafka 版实例发送请求以获取不存在的Topic元数据时,例如向不存在的Topic发送生产请求,云消息队列 Kafka 版可以自动创建Topic。自动创建Topic适用于迁移上云场景或测试场景,无需手动重复创建Topic,帮助您简化操作,提升效率。
前提条件
您已购买并部署云消息队列 Kafka 版Serverless实例,且该实例处于服务中状态。
注意事项
建议您仅在迁移场景或测试场景下使用该功能。在生产环境中,不建议开启自动创建Topic功能,如果开启,请务必不要在重大生产业务中使用。
请检查自动创建Topic的程序中是否包含
replicasAssignments
参数,云消息队列 Kafka 版为全托管服务,节点信息可能会有变化,因此传入该参数将无法生效,会按照默认参数创建。
操作步骤
登录云消息队列 Kafka 版控制台,在概览页面的资源分布区域,选择地域。
在实例列表页面,单击目标实例名称。
在实例详情页面的配置信息区域,打开自动创建Topic开关。
常见问题
是否可以自动化创建Topic?
可以,但不建议。云消息队列 Kafka 版通过阿里云控制台和OpenAPI管理Topic数据,目前不建议自动化创建Topic,主要原因如下:
自动化创建Topic不能进行细粒度的权限管控、资源操作审计等,存在安全管控问题。
自动化创建Topic会有资源远远超过限制、资源不能有效管控等问题,不利于线上稳定运行。
自动化创建Topic不能保证100%成功,可能影响业务的正常运行。更多信息,请参见自动化创建Topic失败后怎么办?
什么场景适合开启自动化创建Topic?
一般情况下都不建议开启。但为了支持您快速迁移上云、测试等场景,可以开启自动化创建Topic。开启后,建议仅在迁移场景或者测试场景使用。
自动化创建Topic失败后怎么办?
自动化创建Topic失败后,您可以通过以下方法解决:
Topic数量不多时,建议您通过阿里云控制台和OpenAPI手动创建Topic。
查看日志或者根据以下原因自助排查:
非法操作:不合法操作导致Topic无法成功创建或者正常使用,影响业务正常运行。具体如下:
Topic名称:自动创建Topic的程序运行过程中,根据实际情况动态指定Topic,Topic名称不满足要求。例如命名非法、名称长度超过限制。
Topic配置:引擎选择不当、Topic配额不足、分区配额不足、包含不支持的参数或参数值非法等。
不可控因素:客观因素概率性失败,如果触发,需要很长时间才能恢复,严重影响业务。例如网络抖动、服务端升级、管控平台升级维护、ECS宕机等情况,会大幅度增加创建Topic的耗时,业务的超时是固定的,必然因为超时,导致创建失败。
业务冲突:自动创建Topic,容易触发不同业务名称冲突,如果触发会导致不同业务数据混合,很难发现问题。发现之后,恢复难度过大,且容易有不可逆转的损失。
延迟问题:自动创建Topic触发时,相对已有Topic,需要至少成倍的时间,会造成业务短暂中断,多数业务不能接受这个抖动。
超过限额:超过分区或者Topic数量限制都会无法创建Topic。