第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
Connector プラグインを使用して Kafka ブローカーと他のシステム間でデータをストリーミングするツールキット。
Kafka MirrorMaker
データセンター内またはデータセンター全体の 2 つの Kafka クラスター間でデータを複製します。
Kafka Exporter
監視用に Kafka メトリクスデータの抽出に使用されるエクスポーター。
Kafka Cruise Control
最適化ゴールと容量制限を基にして、Kafka クラスターをリバランスします。

Kafka ブローカーのクラスターは、これらのコンポーネントをすべて接続するハブです。ブローカーは、設定データを保存およびクラスターの調整に Apache ZooKeeper を使用します。Apache Kafka の実行前に、Apache ZooKeeper クラスターを用意する必要があります。

図1.1 AMQ Streams アーキテクチャー

AMQ Streams architecture

1.1. Kafka の機能

Kafka の基盤のデータストリーム処理機能とコンポーネントアーキテクチャーによって以下が提供されます。

  • スループットが非常に高く、レイテンシーが低い状態でデータを共有するマイクロサービスおよびその他のアプリケーション。
  • メッセージの順序の保証。
  • アプリケーションの状態を再構築するためにデータストレージからメッセージを巻き戻し/再生。
  • キーバリューログの使用時に古いレコードを削除するメッセージ圧縮。
  • クラスター設定での水平スケーラビリティー。
  • 耐障害性を制御するデータのレプリケーション。
  • 即座にアクセスするために大容量のデータを保持。