全部產品
Search
文件中心

ApsaraMQ for Kafka:如何快速測試ApsaraMQ for Kafka服務端是否正常?

更新時間:Dec 27, 2024

在建立並部署雲訊息佇列 Kafka 版執行個體後,您可以使用雲訊息佇列 Kafka 版控制台直接發送訊息,快速測試服務端是否正常。

前提條件

您已建立並部署雲訊息佇列 Kafka 版執行個體,且執行個體處於服务中狀態。

操作流程

快速測試雲訊息佇列 Kafka 版服務端的流程如下:

  1. 建立Topic

  2. 發送訊息

  3. 查看分區狀態

  4. 按位點查詢訊息

您可以多次重複步驟2到步驟4,如果多次操作正常,則說明服務端正常。

說明

如果服務端正常,但發送訊息依然失敗,建議您去調用方(例如,原生用戶端、生態組件端等)排查問題。

建立Topic

  1. 概览頁面的资源分布地區,選擇地區。

    重要

    Topic需要在應用程式所在的地區(即所部署的ECS的所在地區)進行建立。Topic不能跨地區使用。例如Topic建立在華北2(北京)這個地區,那麼訊息生產端和消費端也必須運行在華北2(北京)的ECS。

  2. 实例列表頁面,單擊目標執行個體名稱。

  3. 在左側導覽列,單擊Topic 管理

  4. Topic 管理頁面,單擊创建 Topic

  5. 创建 Topic面板,設定Topic屬性,然後單擊確定

    參數

    說明

    樣本

    名称

    Topic名稱。

    demo

    描述

    Topic的簡單描述。

    demo test

    分区数

    Topic的分區數量。

    12

    存储引擎

    說明

    當前僅專業版執行個體支援選擇儲存引擎類型,標準版暫不支援,預設選擇為雲端儲存類型。

    Topic訊息的儲存引擎。

    雲訊息佇列 Kafka 版支援以下兩種儲存引擎。

    • 云存储:底層接入阿里雲雲端硬碟,具有低時延、高效能、持久性、高可靠等特點,採用分布式3副本機制。執行個體的规格类型标准版(高写版)時,儲存引擎只能為云存储

    • Local 存储:使用原生Kafka的ISR複製演算法,採用分布式3副本機制。

    云存储

    消息类型

    Topic訊息的類型。

    • 普通消息:預設情況下,保證相同Key的訊息分布在同一個分區中,且分區內訊息按照發送順序儲存。叢集中出現機器宕機時,可能會造成訊息亂序。當存储引擎選擇云存储時,預設選擇普通消息

    • 分区顺序消息:預設情況下,保證相同Key的訊息分布在同一個分區中,且分區內訊息按照發送順序儲存。叢集中出現機器宕機時,仍然保證分區內按照發送順序儲存。但是會出現部分分區發送訊息失敗,等到分區恢複後即可恢複正常。當存储引擎選擇Local 存储時,預設選擇分区顺序消息

    普通消息

    日志清理策略

    Topic日誌的清理策略。

    存储引擎選擇Local 存储(當前僅專業版執行個體支援選擇儲存引擎類型為Local儲存,標準版暫不支援)時,需要配置日志清理策略

    雲訊息佇列 Kafka 版支援以下兩種日誌清理策略。

    • Delete:預設的訊息清理策略。在磁碟容量充足的情況下,保留在最長保留時間範圍內的訊息;在磁碟容量不足時(一般磁碟使用率超過85%視為不足),將提前刪除舊訊息,以保證服務可用性。

    • Compact:使用Kafka Log Compaction日誌清理策略。Log Compaction清理策略保證相同Key的訊息,最新的value值一定會被保留。主要適用於系統宕機後恢複狀態,系統重啟後重新載入緩衝等情境。例如,在使用Kafka Connect或Confluent Schema Registry時,需要使用Kafka Compact Topic儲存系統狀態資訊或配置資訊。

      重要

      Compact Topic一般只用在某些生態組件中,例如Kafka Connect或Confluent Schema Registry,其他情況的訊息收發請勿為Topic設定該屬性。具體資訊,請參見雲訊息佇列 Kafka 版Demo庫

    Compact

    标签

    Topic的標籤。

    demo

    建立完成後,在Topic 管理頁面的列表中顯示已建立的Topic。

發送訊息

向已建立的Topic發送訊息。

  1. Topic 管理頁面,找到目標Topic,在其操作列中,選擇更多 > 体验发送消息

  2. 快速体验消息收发面板,發送測試訊息。

    • 发送方式選擇控制台

      1. 消息 Key文字框中輸入訊息的Key值,例如demo。

      2. 消息内容文字框輸入測試的訊息內容,例如 {"key": "test"}。

      3. 設定发送到指定分区,選擇是否指定分區。

        • 單擊,在分区 ID文字框中輸入分區的ID,例如0。如果您需查詢分區的ID,請參見查看分區狀態

        • 單擊,不指定分區。

      4. 根據介面提示資訊,通過SDK訂閱訊息,或者執行Docker命令訂閱訊息。

    • 发送方式選擇Docker,運行Docker容器。

      1. 執行运行 Docker 容器生产示例消息地區的Docker命令,發送訊息。

      2. 執行发送后如何消费消息?地區的Docker命令,訂閱訊息。

    • 发送方式選擇SDK,根據您的業務需求,選擇需要的語言或者架構的SDK以及接入方式,通過SDK體驗訊息收發。

查看分區狀態

往指定分區發送訊息後,查看該分區的狀態。

Topic 管理頁面,找到目標Topic,在其操作列中,選擇更多 > 分区状态

表 1. 分區狀態資訊

參數

說明

分區ID

該Topic分區的ID號。

最小位點

該Topic在當前分區下的最小消費位點。

最大位點

該Topic在當前分區下的最大消費位點。

分區訊息量

該Topic在當前分區下的訊息總量。

最新動向時間

本分區中最近一條訊息的儲存時間。

分區狀態資訊

按位點查詢訊息

  1. 登入雲訊息佇列 Kafka 版控制台

  2. 概览頁面的资源分布地區,選擇地區。

  3. 实例列表頁面,單擊目標執行個體名稱。

  4. 在左側導覽列,單擊消息查询

  5. 消息查询頁面的查询方式列表中,選擇按位点查询

  6. Topic列表中,選擇訊息所屬Topic名稱;在分区列表中,選擇訊息所屬的分區;在起始位点文字框,輸入訊息所在分區的位點,然後單擊查询

    展示該查詢位點及以後連續的訊息。例如,指定的分區和位點都為“5”,那麼返回的結果從位點“5”開始。

    表 2. 查詢結果參數解釋

    參數

    描述

    分区

    訊息的Topic分區。

    位点

    訊息的所在的位點。

    Key

    訊息的鍵(已強制轉化為String類型)。

    Value

    訊息的值(已強制轉化為String類型),即訊息的具體內容。

    消息创建时间

    發送訊息時,用戶端內建的或是您指定的ProducerRecord中的訊息建立時間。

    說明
    • 如果配置了該欄位,則按配置值顯示。

    • 如果未配置該欄位,則預設取訊息發送時的系統時間。

    • 如果顯示值為1970/x/x x:x:x,則說明發送時間配置為0或其他有誤的值。

    • 0.9及以前版本的雲訊息佇列 Kafka 版用戶端不支援配置該時間。

    操作

    • 單擊下载 Key:下載訊息的索引值。

    • 單擊下载 Value:下載訊息的具體內容。

    重要
    • 查詢到的每條訊息在控制台上最多顯示1 KB的內容,超過1 KB的部分將自動截斷。如需查看完整的訊息內容,請下載相應的訊息。

    • 下載的訊息最大為10 MB。如果訊息超過10 MB,則只下載10 MB的內容。