Kafka は、アナリティクスのユースケースにおけるメッセージ配信向けの最も主要なログブローカーおよびストリーム処理ソリューションとなっています。アナリティクスの実装は、工場からエッジまでを横断し、数千から数百万台もの接続デバイスを含む、より分散化された、ハイブリッドクラウドベースで、オペレーションと統合されたソリューションへと進化しています。
アナリティクスをグローバル化・運用的に相互接続するこの進化は、以下のような Kafka の限界に直面します:
- メッセージの順序が保証されない非効率なクラスター間メッセージレプリケーション
- インオーダー配信と組み合わせたリクエスト・リプライ応答の制約により、Kafka の運用効率が低下することが多い
- コマンドアンドコントロールのサポートの欠如
- キューイングに依存するメッセージ交換パターンへの非対応 – microservicesマイクロサービス アーキテクチャとの整合性の低さ
Kafka mesh を構築することで、Kafka インフラをエンタープライズオペレーションとうまく連携させることができます。オペレーションとアナリティクスの両観点から従来の Event Broker およびメッセージブローカーの要件を比較することで、両者を組み合わせることがこれらの課題への統合的なアプローチをもたらすことは明らかです。

Kafka mesh は Solace インフラと Kafka インフラを連携させ、アナリティクス環境とオペレーション環境の完全な統合を実現します!

クラスター間での Kafka メッセージレプリケーションにおける一般的な課題
Kafka メッセージをレプリケートするために活用できるテクノロジーは複数存在しますが、いずれも以下のようなさまざまな非効率性や欠陥をもたらします:
- 洗練されていないフィルタリング – これらのテクノロジーは Kafka トピックに基づくフィルタリングをサポートしていますが、顧客の多くは送信先リージョンを示すメタデータに基づいてメッセージをルーティングするなど、より細かい粒度でフィルタリングすることを望んでいます。イベントストリームをインテリジェントにフィルタリングできないことは、コストのかかる WAN を経由した後に宛先で破棄されるという事態を招き、高コストとなります。
- 単方向またはローカルへのパブリッシュトポロジー – これらのテクノロジーは、単方向、2クラスター双方向、または多対1の集約(ローカルへのパブリッシュ)クラスタートポロジーをサポートしていますが、多くの顧客はメッシュクラスタートポロジーのサポートによりレプリケーションの方向を制御したいと考えています。独自のトポロジーをカスタマイズできず、単方向または配信前に余分なクラスターをメッセージが通過する必要がある複雑な集約クラスタートポロジーを強いられることで、クラスター間の WAN コストが増加します。
- 順序保証の欠如または制限 – 一部のレプリケーションテクノロジーは順序保証をサポートしていますが、順序保証の設定はパフォーマンスを低下させることが多く、維持が困難であったり、ライセンスコストが追加されたりすることがあります。例えば、集約クラスターのアプローチや、パフォーマンスのために並列メッセージレプリケーションを行う複数のシステムを活用する Kafka Connect インフラが必要になる場合があります。多くのアプリケーションはインオーダーのメッセージ配信に依存しており、メッセージの順序が乱れると、高コストのかかるな手動対応が必要になるか、単純に機能しなくなります。
- マルチフレーバーのサポート – Kafka の各商用・オープンソースバリエーションには、それぞれ独自のレプリケーションテクノロジーが存在しており、異なるフレーバーのクラスターでは動作しないか、サポートされていません。
Solace が Kafka クラスター間のメッセージレプリケーションを改善する方法
Solace Event Broker は、きめ細かなフィルタリング、インオーダーメッセージ配信、メッシュトポロジー、クラウドネイティブサービスや各種 Kafka フレーバーを含む幅広いテクノロジーとの統合をサポートし、オペレーションのユースケースにおけるイベントルーティングに優れています。Solace Platform を使って Kafka mesh を構築することで、Kafka メッセージをより効果的にレプリケートする方法を見ていきましょう。
- Kafka Bridge のメタデータマッピング – Solace Event Broker の 統合 Kafka bridge を使用すると、Kafka メッセージのメタデータを Solace メッセージのメタデータへ、またはその逆に動的にマッピングでき、Solace topics の細かい階層型トピック構造も対象となります。
- Solace Topics – Solace topics は Kafka トピックだけでなく、トピックに含めたい任意のメタデータを含めてフィルタリングします。各宛先 Kafka クラスターには、さまざまな Solace topics をサブスクライブする1つ以上の Solace queues があります。メッセージは複数のクラスター(レプリケーション)、単一のクラスター(ルーティング)、またはいずれのクラスターにもサブスクライブされない(フィルタリング)場合があります。これにより、パブリッシャーからメッセージをレプリケートするクラスターを直接または間接的に特定したり(下流クラスターのキューサブスクリプションに関する事前定義された知識を用いて)、下流の Kafka クラスターがサブスクライブしたい属性(例:宛先ゾーン)をメッセージに含めて識別したりすることが可能です。

- Kafka Mesh – Solace Event Broker は、Kafka センダー(それぞれが Kafka クラスターへイベントを送信)または Kafka レシーバー(それぞれが特定の Kafka クラスターの Kafka トピックからメッセージを受信)とともにデプロイすることで、メッセージ配信の方向を制御できます。さらに、各 Kafka センダーおよびレシーバーは、Solace インフラ全体をサブスクライブまたはパブリッシュできます。Solace インフラは1台または複数のブローカーで構成でき、それぞれが最大200の異なる bridgeブリッジ(各 Kafka センダーまたはレシーバー)をサポートし、フルメッシュ接続を実現します。
- エクスクルーシブキュー – 上述のとおり、Solace Event Broker はキューを活用して、すべての Kafka および Solace ソースからのメッセージを特定の Kafka クラスターへ集約します。このようにエクスクルーシブキューを活用することで、ブローカーが受信するすべてのメッセージは厳密な「先入れ先出し(FIFO)」方式で管理されます。
- Kafka Bridge の Kafka API – Solace Event Broker の統合 Kafka bridge は、広く普及した Kafka Client API を活用しています。Kafka ブローカーおよびクラスターのクライアントとして機能し、特殊なレプリケーションソフトウェアのストリーミングコンポーネントや Kafka Connect に依存するログデータベースとして機能しないことで、ブローカーはすべての主要な Kafka フレーバーと直接通信でき、すべてのソースおよび宛先クラスターにおける Kafka Connect のコストオーバーヘッドとメッセージ順序の制限を回避できます。特に重要なのは、Solace がすべての主要な Kafka フレーバーに対して Kafka bridge のサポートを提供している点です。
まとめ
Solace Event Broker のソフトウェア版を使用することで、Solace topics とサブスクリプションを活用した Kafka mesh の構築、エクスクルーシブキューの利用、そして統合 Kafka bridge を通じた WAN 最適化済みの Kafka メッセージレプリケーションソリューションの提供が可能になります。このソリューションは、ハイブリッドクラウドおよびマルチフレーバーの Kafka 環境全体にわたって、きめ細かなフィルタリングとインオーダー配信を実現します。
