第1章 AMQ Streams の概要
Red Hat AMQ Streams は、Apache ZooKeeper および Apache Kafka プロジェクトに基づく、拡張性の高い、分散型の高パフォーマンスのデータストリーミングプラットフォームです。
主なコンポーネントは以下で構成されます。
- Kafka Broker
生成側クライアントから消費側クライアントにレコードを配信するメッセージングブローカー。
Apache ZooKeeper は Kafka のコア依存関係で、非常に信頼性の高い分散型の連携のためのクラスター調整サービスを提供します。
- Kafka Streams API
- ストリームプロセッサー アプリケーションを記述するための API
- プロデューサーおよびコンシューマー API
- Kafka ブローカーとの間でメッセージを生成および消費するための Java ベースの API。
- Kafka Bridge
- AMQ Streams Kafka Bridge では、HTTP ベースのクライアントと Kafka クラスターとの対話を可能にする RESTful インターフェースが提供されます。
- Kafka Connect
- コネクター プラグインを使用して Kafka ブローカーと他のシステムの間でデータをストリーミングするツールキット。
- Kafka MirrorMaker
- データセンター内または異なるデータセンターにある 2 つの Kafka クラスター間でデータをレプリケートします。
- Kafka Exporter
- 監視用に Kafka メトリクスデータの抽出に使用されるエクスポーター。
Kafka ブローカーのクラスターは、これらの全コンポーネントを接続するハブです。ブローカーは、設定データの保存やクラスターの連携に Apache ZooKeeper を使用します。Apache Kafka の実行前に、Apache ZooKeeper クラスターを用意する必要があります。
図1.1 AMQ Streams のアーキテクチャー
1.1. Kafka の機能
Kafka の基盤のデータストリーム処理機能とコンポーネントアーキテクチャーによって以下が提供されます。
- スループットが非常に高く、レイテンシーが低い状態でデータを共有するマイクロサービスおよびその他のアプリケーション。
- メッセージの順序の保証。
- アプリケーションの状態を再構築するためにデータストレージからメッセージを巻き戻し/再生。
- キーバリューログの使用時に古いレコードを削除するメッセージコンパクション。
- クラスター設定での水平スケーラビリティー。
- 耐障害性を制御するデータのレプリケーション。
- 即座にアクセスするために大容量のデータを保持。