Cloud MSMQ Confluent Edition クラスターの場合、使用されるビジネスシナリオやビジネスアプリケーションのパフォーマンスなど、多くの要因がリソースの使用状況に影響します。このトピックでは、一般的なシナリオに基づいて Cloud MSMQ Confluent Edition クラスターのリソース評価の提案を提供し、クラスターの購入および作成時にクラスターサイズを評価するのに役立ちます。クラスターの作成後、実際の使用状況に基づいてクラスターのリソース構成を変更できます。
構成アーキテクチャ
Cloud MSMQ Confluent は、さまざまなデータソースからのデータを整理および管理できるストリーミングデータプラットフォームです。安定した効率的なシステムです。 Kafka Broker、Rest Proxy、Connect、Zookeeper、ksqlDB、Control Center の 6 つのコンポーネントで構成されています。
デフォルトでは、Cloud MSMQ Confluent クラスター内の Kafka Broker、Rest Proxy、Connect、ZooKeeper、ksqlDB、および Control Center のレプリカ数は、それぞれ 3、2、2、3、2、1 です。ビジネス要件に基づいてレプリカ数を設定できます。
クラスターリソース評価
Kafka ブローカー
まず、ビジネス要件を評価する必要があります。要件パラメーターは、次の表に一覧表示されています。
要件パラメーター
説明
ファンアウト係数
書き込まれたデータがコンシューマーによって消費される回数。ブローカーの内部レプリカのレプリケーショントラフィックは含まれません。
ピークデータ流入量
ビジネスデータのピークトラフィック。単位:MB/秒。
平均データ流入量
ビジネスデータの平均トラフィック。単位:MB/秒。
データ保持期間
データ保持期間。デフォルト値:7。
パーティションレプリカ係数
パーティションレプリカ係数。デフォルト値:3。各パーティションには 3 つのレプリカがあります。
ブローカーノード数の推定:理想的には、単一の Kafka ブローカーは最大 100 MB/秒のトラフィックをサポートできます。本番クラスターには少なくとも 4 つのブローカーノードが必要であり、50% の I/O 帯域幅リソースを冗長にしておくことをお勧めします。さらに、各ブローカーのパーティションレプリカ数は 2,000 を超えてはなりません。クラスター全体のパーティションレプリカの総数は 200,000 を超えてはなりません。クラスター内のパーティションレプリカの総数が大きいと推定される場合は、パーティションの総数に基づいてブローカーの数を推定することをお勧めします。
説明ブローカーノード数 = Max(4、ピークデータ流入量×(ファンアウト係数+ 2×パーティションレプリカ係数-1)×2/400 MB/秒)。
ブローカーごとの CU 数の推定:必要な CU 数は、クラスター構成、クライアント構成、クライアントの使用方法、パーティション数、クラスターサイズ、コンシューマー数、プロデューサー数などの要因に関連しているため、推定が困難です。本番クラスターはブローカーごとに 8 CU 以上、開発テストクラスターはブローカーごとに 4 CU で作成することをお勧めします。同時に、各 4 CU ブローカーに 100 を超えるリーダーレプリカまたは 300 のパーティションレプリカ(リーダーレプリカを含む)を配置しないことをお勧めします。
各ブローカーのディスクサイズの推定:各ブローカーのディスクサイズ = Max(1 TB、平均受信トラフィック×データ保持期間×パーティションレプリカ係数/ブローカー数)。
Connect
ノードの推定:Connect の高可用性を確保するために、2 つ以上のノードを構成することをお勧めします。
CU 評価:ノードごとに 8 CU 以上を選択することをお勧めします。
スキーマレジストリ
スキーマレジストリの本番環境では、2 つのノードを構成することをお勧めします。各ノードには 2 つの CU があります。
Control Center
Control Center の本番環境では、4 CU 以上のコンピューティングリソースと 300 GB 以上のデータストレージを持つ 1 つのノードを構成することをお勧めします。
ksqlDB リソース評価
ノードの推定:REST Proxy の高可用性を確保するために、2 つ以上のノードを構成することをお勧めします。
CU 評価:ノードごとに 4 CU 以上を選択することをお勧めします。
ストレージ評価:ksqlDB のストレージサイズは、集計ステートメントの数と同時クエリの数によって異なります。デフォルトでは、100 GB が選択されています。
REST Proxy リソース評価
ノードの推定:REST Proxy の高可用性を確保するために、2 つ以上のノードを構成することをお勧めします。
CU 評価:REST プロキシを使用してメッセージを継続的に生成および消費する必要がある場合は、ノードごとに 8 CU 以上を選択する必要があります。それ以外の場合は、ノードごとに 4 CU を選択できます。
クラスターリソースパフォーマンス比較
次の表は、CU 数が異なる場合のクラスターの総スループットと単一プロデューサーのレイテンシの変化を示しています。ビジネスのデータトラフィックとレイテンシ要件に基づいて、適切な CU 数を選択できます。
次のテスト結果は、4 ブローカー仕様のクラスター、単一トピック、300 パーティション、60 プロデューサー、単一メッセージサイズ 1 KB でテストした場合に得られます。実際のビジネスシナリオでは、テスト環境とパフォーマンスが異なる場合があります。
クラスター仕様 | スロットリングなしの条件下での、 クラスター総スループット | スロットリングなしの条件下での、 プロデューサー平均スループット | スロットリングなしの条件下での、 平均レイテンシ | レイテンシが 100 ミリ秒未満の場合の、 クラスター総スループット |
ブローカーごとに 4 CU | 370 MB/秒 | 5.95 MB/秒 | 9718 ミリ秒 | 130 MB/秒 |
ブローカーごとに 8 CU | 400 MB/秒 | 7.33 MB/秒 | 8351 ミリ秒 | 195 MB/秒 |
単一ブローカー 12 CU | 400 MB/秒 | 7.39 MB/秒 | 8343 ミリ秒 | 240 MB/秒 |
単一ブローカー 16 CU | 400 MB/秒 | 7.47 MB/秒 | 8335 ミリ秒 | 290 MB/秒 |
単一ブローカー 20 CU | 400 MB/秒 | 7.58 MB/秒 | 8237 ミリ秒 | 305 MB/秒 |
デフォルトでは、Cloud MSMQ Confluent クラスターは 4 つのブローカーを使用し、400 MB/秒のスループットを提供します。クラスターのスループットを向上させるには、クラスターをスケールアウトできます。新しいブローカーを追加するたびに、クラスターのスループットパフォーマンスは 100 MB/秒増加します。
CU 数を水平方向に増やす場合は、ブローカーごとに 8 CU 以上を構成することをお勧めします。これにより、CU 数がクラスターのスループットパフォーマンスに影響を与えるボトルネック要因にならないようにします。
次の表に、クラスターのスループットパフォーマンス、メッセージ処理能力、およびサポートされているパーティション数を、ブローカーの数ごとに示します。
クラスター仕様 | クラスタースループット | 1 時間あたりに処理されるメッセージ数 | 各パーティションのスループットが 1 MB/秒で、サポートできるパーティション数。 |
4 ブローカー | 400 MB/秒 | 約 14.7 億 | 400 |
8 ブローカー | 800 MB/秒 | 約 29.5 億 | 800 |
12 ブローカー | 1200 MB/秒 | 約 44.2 億 | 1,200 |
16 ブローカー | 1600 MB/秒 | 約 59 億 | 1,600 |
20 ブローカー | 2000 MB/秒 | 約 73.7 億 | 2,000 |
一般的なシナリオでは、パーティションのスループットの推奨値は 1 MB/秒から 5 MB/秒の範囲です。レイテンシ要件が低いシナリオでは、各パーティションのスループットサイズを制限する必要があります。パーティション数が一定数に達すると、クラスターのスループットが低下し、レイテンシが増加します。
推奨されるクラスター仕様の選択
次の表に、一般的なシナリオでのクラスターの仕様を示します。詳細については、Confluent をご参照ください。
シナリオ | 使用することをお勧めします | 使用することをお勧めします | ||||
クラスター仕様 | 本番仕様(400 MB/秒のスループット、レプリケーショントラフィックを除く) | 最小仕様(300 MB/秒のスループット、レプリケーショントラフィックを除く) | ||||
メトリクスの構成 | CU | ディスク | ノード | CU | ディスク | ノード |
Kafka ブローカー | 12 | 2400 GB | 4 | 4 | 800 GB | 3 |
Zookeeper | 4 | 100 GB | 3 | 2 | 100 GB | 3 |
Kafka Connect | 12 | 該当なし | 2 | 4 | 該当なし | 2 |
Control Center | 12 | 300 GB | 1 | 4 | 300 GB | 1 |
スキーマレジストリ | 2 | 該当なし | 2 | 2 | 該当なし | 2 |
REST Proxy | 16 | 該当なし | 2 | 4 | 該当なし | 2 |
KsqlDB | 5 | 100 GB | 2 | 5 | 100 GB | 2 |
クラスターを作成した後でも、ビジネスニーズに基づいて、さまざまな仕様に基づいてクラスターリソース構成を調整できます。
クラスターコンポーネントのリソース割り当てルール
次の表に、各コンポーネントのリソース構成範囲を示します。
ビジネス要件に基づいて、以下のサポートされているリソース範囲から適切なクラスター仕様を選択できます。
製品コンポーネント | サポートされているバージョン | レプリカ | ノードごとの CU 数 | 単一ノードディスク(プログレッシブ 100 GB) |
Kafka ブローカー | Professional Edition/Enterprise Edition | デフォルト値:3。 最小値:3 最大値:20 | デフォルト値:4。 最小値:4 最大値:20 | デフォルト値:800 GB 範囲:800 GB~30000 GB |
ZooKeeper | Professional Edition/Enterprise Edition | デフォルト値:3。 最小値:3 最大値:3 | デフォルト値:2。 最小値:2 最大値:20 | デフォルト値:100 GB 範囲:100 GB~30000 GB |
Control Center | Professional Edition/Enterprise Edition | デフォルト値:1。 最小値:1。 最大値:1 | デフォルト値:8。 最小値:8 最大値:20 | デフォルト値:300 GB 範囲:300 GB~30000 GB |
スキーマレジスター | Professional Edition/Enterprise Edition | デフォルト値:2。 最小値:2 最大値:3 | デフォルト値:1。 最小値:1 最大値:20 | ストレージなし |
Kafka Connect | Professional Edition/Enterprise Edition(このパラメーターはデフォルトで選択されています。このコンポーネント機能を使用しないようにキャンセルできます。) | デフォルト値:2。 最小値:1 最大値:20 | デフォルト値:4。 最小値:1 最大値:20 | ストレージなし |
KsqlDB | Professional Edition/Enterprise Edition(このパラメーターはデフォルトで選択されています。このコンポーネント機能を使用しないようにキャンセルできます。) | デフォルト値:2。 最小値:1 最大値:20 | デフォルト値:5。 最小値:5 最大値:20 | デフォルト値:100 GB 範囲:100 GB~30000 GB |
Rest Proxy | Professional Edition/Enterprise Edition(このパラメーターはデフォルトで選択されています。このコンポーネント機能を使用しないようにキャンセルできます。) | デフォルト値:2。 最小値:2 最大値:20 | デフォルト値:4。 最小値:4 最大値:20 | ストレージなし |
参照
Confluent は、Kafka および Confluent Platform のリソース評価ツールを提供しています。このツールは、Cloud MSMQ Confluent に適用できます。詳細については、「Sizing Calculator for Apache Kafka and Confluent Platform」をご参照ください。