ApsaraMQ for Kafka を使用してメッセージを送受信する前に、デプロイ済みの ApsaraMQ for Kafka インスタンスにトピックとグループを作成する必要があります。ApsaraMQ for Kafka では、プロデューサーは特定のトピックにメッセージを送信し、コンシューマーはトピックをサブスクライブしてメッセージを消費します。コンシューマーがメッセージを消費する前に、コンシューマーが属するグループが対応するトピックをサブスクライブする必要があります。 1 つのグループは複数のトピックをサブスクライブでき、1 つのトピックは複数のグループによってサブスクライブできます。
前提条件
ApsaraMQ for Kafka インスタンスがネットワークタイプに基づいて購入およびデプロイされていること。
ステップ 1: トピックの作成
ApsaraMQ for Kafka インスタンスをデプロイすると、システムは検査用に __alikafka_housekeeping_local_topic
トピックと __alikafka_housekeeping_cloud_topic
トピックを自動的に作成します。これらのトピックは削除できません。詳細については、「検査の説明」をご参照ください。
ApsaraMQ for Kafka コンソール にログインします。
リソースの分布概要 ページの セクションで、管理する ApsaraMQ for Kafka インスタンスが存在するリージョンを選択します。
重要トピックは、Elastic Compute Service (ECS) インスタンスがデプロイされているリージョンに作成する必要があります。トピックはリージョンをまたいで使用することはできません。たとえば、メッセージのプロデューサーとコンシューマーが中国 (北京) リージョンにデプロイされている ECS インスタンスで実行されている場合、トピックも中国 (北京) リージョンに作成する必要があります。
インスタンスリスト ページで、管理するインスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、トピック管理 をクリックします。
トピック管理 ページで、トピックの作成 をクリックします。
トピックの作成 パネルで、トピックのプロパティを指定し、[OK] をクリックします。
パラメーター
説明
例
名前
トピック名。
demo
記述
トピックの説明。
デモテスト
パーティションの数
トピック内のパーティションの数。
12
ストレージエンジン
説明Professional Edition インスタンスを使用している場合にのみ、ストレージエンジンのタイプを指定できます。 Standard Edition インスタンスを使用している場合、デフォルトでクラウドストレージが選択されます。
トピックにメッセージを格納するために使用されるストレージエンジンのタイプ。
ApsaraMQ for Kafka は、以下のタイプのストレージエンジンをサポートしています。
クラウドストレージ: この値を選択すると、システムは Topic に Alibaba Cloud ディスクを使用し、データを分散モードで 3 つのレプリカに保存します。このストレージエンジンは、低レイテンシ、高パフォーマンス、長期の耐久性、および高い信頼性を備えています。インスタンスの作成時に 仕様タイプ パラメーターを Standard Edition (High Write) に設定した場合、このパラメーターは クラウドストレージ にのみ設定できます。
ローカルストレージ: この値を選択すると、システムはオープンソースの Apache Kafka の同期レプリカ (ISR) アルゴリズムを使用し、データを分散モードで 3 つのレプリカに保存します。
クラウドストレージ
メッセージタイプ
Topic のメッセージタイプ。有効な値:
通常のメッセージ: デフォルトでは、同じキーを持つメッセージは、メッセージが送信された順序で同じパーティションに保存されます。クラスタ内のブローカーに障害が発生した場合、パーティションに保存されているメッセージの順序は保持されない可能性があります。ストレージエンジン パラメーターを クラウドストレージ に設定すると、このパラメーターは自動的に 通常のメッセージ に設定されます。
パーティション順位メッセージ: デフォルトでは、同じキーを持つメッセージは、メッセージが送信された順序で同じパーティションに保存されます。クラスタ内のブローカーに障害が発生した場合でも、メッセージは送信された順序でパーティションに保存されます。一部のパーティションのメッセージは、パーティションが復元されるまで送信できません。ストレージエンジン パラメーターを ローカルストレージ に設定すると、このパラメーターは自動的に パーティション順位メッセージ に設定されます。
通常のメッセージ
ログリリースポリシー
Topic で使用されるログクリーンアップポリシー。
ストレージエンジン パラメーターを ローカルストレージ に設定する場合は、ログリリースポリシー パラメーターを構成する必要があります。ストレージエンジンパラメーターをローカルストレージに設定できるのは、ApsaraMQ for Kafka Professional Edition インスタンスを使用する場合のみです。
ApsaraMQ for Kafka では、次のログクリーンアップポリシーが提供されています。
Delete: デフォルトのログクリーンアップポリシー。システムに十分なストレージ容量がある場合、メッセージは最大保存期間に基づいて保持されます。ストレージ使用率が 85% を超えると、サービスの可用性を確保するために、システムは最も古い保存済みメッセージを削除します。
Compact: Apache Kafka で使用されるログ圧縮ポリシー。ログ圧縮により、同じキーを持つメッセージの最新の値が保持されます。このポリシーは、障害が発生したシステムの復元や、システムの再起動後のキャッシュの再読み込みなどのシナリオに適しています。たとえば、Kafka Connect または Confluent Schema Registry を使用する場合、システムの状態と構成に関する情報をログ圧縮された Topic に保存する必要があります。
重要ログ圧縮された Topic は、Kafka Connect や Confluent Schema Registry などの特定のクラウドネイティブコンポーネントでのみ使用できます。詳細については、「aliware-kafka-demos」をご参照ください。
Compact
タグ
トピックにアタッチするタグ。
デモ
トピックが作成されると、トピック管理 ページでトピックを表示できます。
ステップ 2: グループを作成する
ApsaraMQ for Kafka コンソール にログオンします。
リソースの分布 セクションの 概要 ページで、管理する ApsaraMQ for Kafka インスタンスが存在するリージョンを選択します。
インスタンスリスト ページで、管理するインスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、Group の管理 をクリックします。
Group の管理 ページで、グループの作成 をクリックします。
グループの作成 パネルで、Group ID フィールドにグループ名を入力し、記述 フィールドにグループの説明を入力し、グループにタグをアタッチして、[OK] をクリックします。
コンシューマーグループが作成されると、Group の管理 ページでコンシューマーグループを表示できます。
参照資料
Topic またはグループを手動で作成したくない場合は、フレキシブルグループ作成機能と自動 Topic 作成機能を有効にできます。詳細については、「フレキシブルグループ作成機能を使用する」および「Topic を自動的に作成する」をご参照ください。
API 操作を呼び出してリソースを作成する方法については、「CreateTopic」および「CreateConsumerGroup」をご参照ください。
リソースを作成した後、ネットワークタイプに基づいて SDK を使用してメッセージを送受信できます。詳細については、「手順 4:SDK を使用してメッセージを送受信する」をご参照ください。