在遷移上雲或測試情境下,您可以開啟自動建立Topic功能,通過代碼寫入直接建立Topic,無需在控制台手動建立,協助您簡化操作,提升效率。
前提條件
您已購買並部署雲訊息佇列 Kafka 版執行個體,且該執行個體必須滿足以下條件:
專案 | 說明 |
狀態 | 服务中 |
版本 | 大版本為2.2.0或以上版本,小版本為最新版本。 |
您可以在雲訊息佇列 Kafka 版控制台的实例详情頁面的基础信息地區查看執行個體的運行狀態和版本。
注意事項
建議您僅在遷移情境或測試情境下使用該功能。在生產環境中,不建議開啟自動建立Topic功能,如果開啟,請務必不要在重大生產業務中使用。
專業版執行個體開啟ACL後,不支援通過發送訊息的方式自動建立Topic。
操作步驟
登入雲訊息佇列 Kafka 版控制台,在概览頁面的资源分布地區,選擇地區。
在实例列表頁面,單擊目標執行個體名稱。
在实例详情頁面的配置信息地區,開啟自動建立Topic開關。
說明自動建立的Topic名稱命名規則:
長度限制為3~64個字元。
只能包含英文、數字、虛線(-)以及底線(_),且至少包含一個英文或數字。
開啟自動建立Topic後,標準版執行個體可以通過發送訊息的方式自動建立Topic,並在控制台上顯示。
常見問題
是否可以自動化建立Topic?
可以,但不建議。雲訊息佇列 Kafka 版通過阿里雲控制台和OpenAPI管理Topic資料,不建議在生產環境中開啟自動化建立Topic,主要原因如下:
自動化建立Topic不能進行細粒度的許可權管控、資源Action Trail等,存在安全管控問題。
自動化建立Topic會有資源遠遠超過限制、資源不能有效管控等問題,不利於線上穩定運行。
自動化建立Topic不能保證100%成功,可能影響業務的正常運行。更多資訊,請參見自動化建立Topic失敗後怎麼辦?。
什麼情境適合開啟自動化建立Topic?
一般情況下都不建議開啟。但為了支援您快速遷移上雲、測試等情境,可以開啟自動化建立Topic。開啟後,建議僅在遷移情境或者測試情境使用。
自動化建立Topic失敗後怎麼辦?
自動化建立Topic失敗後,您可以通過以下方法解決:
Topic數量不多時,建議您通過阿里雲控制台和OpenAPI手動建立Topic。
查看日誌或者根據以下原因自助排查:
非法操作:不合法操作導致Topic無法成功建立或者正常使用,影響業務正常運行。具體如下:
Topic名稱:自動建立Topic的程式運行過程中,根據實際情況動態指定Topic,Topic名稱不滿足要求。例如命名非法、名稱長度超過限制。
Topic配置:引擎選擇不當,Topic配額不足、分區配額不足等。
開啟ACL:開啟ACL後,不支援通過發送訊息的方式自動建立Topic。
不可控因素:客觀因素機率性失敗,如果觸發則需要很長時間才能恢複,嚴重影響業務。例如網路抖動、服務端升級、管控平台升級維護、ECS宕機等情況,會大幅度增加建立Topic的耗時,導致建立失敗。
業務衝突:自動建立Topic,容易觸發不同業務名稱衝突,如果觸發會導致不同業務資料混合,很難發現問題。發現之後,恢複難度過大,且容易有無法復原轉的損失。
延遲問題:自動建立Topic觸發時,相對已有Topic,需要至少成倍的時間,會造成業務短暫中斷,多數業務不能接受這個抖動。
超過限額:超過分區或者Topic數量限制都會無法建立Topic。
相關文檔
遷移上雲的具體操作,請參見遷移上雲。
如果您希望使用控制台和API建立Topic,請參見建立Topic和CreateTopic - 建立Topic。