このトピックでは、占有リソースの量を削減するために、履歴または非アクティブなトピックを処理する方法について説明します。
プロセス
1. トピックがアクティブかどうかを判断する
次の表に、トピックがアクティブかどうかを判断するために使用される主要な指標を示します。
ブローカー上のメッセージの総数(TotalCount) | メッセージの最新の更新時刻(LastTimeStamp) |
ほとんどの場合、TotalCount パラメーターの値が 0 の場合、トピックは非アクティブです。 | ほとんどの場合、LastTimeStamp パラメーターの値がずっと前の時刻を指定している場合、トピックは非アクティブです。 説明 LastTimeStamp パラメーターの値が 0 または負の値の場合、システムはタイムスタンプを取得しません。この場合、トピックを非アクティブとしてマークしないでください。 |
次のいずれかの方法を使用して、上記の主要な指標の値を取得できます。
コンソールを使用する
ApsaraMQ for Kafka コンソールでインスタンストピック情報を表示します。
ApsaraMQ for Kafka コンソール にログインします。左側のナビゲーションペインで、インスタンスリスト をクリックします。
上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。インスタンスリスト ページで、管理するインスタンスの名前をクリックします。
左側のナビゲーションペインで、トピック管理 をクリックします。表示されるページで、管理するトピックの名前をクリックします。
トピックの詳細 ページで、パーテーションステータス タブをクリックします。
トピックがアクティブかどうかを判断します。トピックが非アクティブな場合は、トピック名を記録します。次に、このトピックの「非アクティブなトピックを削除する」セクションの手順に従って、非アクティブなトピックを削除します。
API オペレーションを呼び出す
API オペレーションを呼び出して、すべてのトピックに関する情報をクエリします。
GetTopicList オペレーションを呼び出して、すべてのトピックに関する情報をクエリします。このオペレーションの呼び出し方法については、GetTopicList を参照してください。
GetTopicStatus オペレーションを呼び出して、各トピックのメッセージングステータスをクエリします。このオペレーションの呼び出し方法については、GetTopicStatus を参照してください。
レスポンス内の各トピックの
LastTimeStampパラメーターとTotalCountパラメーターの値を記録します。各トピックがアクティブかどうかを判断するには、このトピックの「トピックがアクティブかどうかを判断する」セクションの説明を参照してください。非アクティブなトピックが存在する場合は、トピック名を記録します。次に、このトピックの「非アクティブなトピックを削除する」セクションの手順に従って、非アクティブなトピックを削除します。
2. 非アクティブなトピックを削除する
占有リソースの量を削減するために、次の手順を実行して非アクティブなトピックを削除できます。
非アクティブなトピックを削除する必要があるかどうかを判断する必要があります。
API オペレーションを呼び出してトピックを自動的に削除しないことをお勧めします。そうしないと、プログラムエラーが発生し、元に戻せないビジネス損失が発生する可能性があります。
ApsaraMQ for Kafka コンソール にログインします。左側のナビゲーションペインで、インスタンスリスト をクリックします。
上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。インスタンスリスト ページで、管理するインスタンスの名前をクリックします。
左側のナビゲーションペインで、トピック管理 をクリックします。表示されるページで、管理するトピックの名前をクリックします。
トピックの詳細 ページの右上隅にある [削除] をクリックします。
表示されるメッセージで、[OK] をクリックします。
重要トピックを削除する前に、情報を確認してください。