AMQ Streamsとは

suzukiry
7 min readDec 5, 2021

--

AMQ Streams は Red Hat が提供している、Apache Kafka のいわゆるエンタープライズディストリービューション。Red Hat は 2018年から Apache Kafka をサポートしていて、Kubernetes 上でも提供できるソリューションも含めて、AMQ Streams としてローンチ。

サポート構成やライフサイクルに関連するドキュメントを以下にまとめています。

Red Hat AMQ と Red Hat AMQ Streams

Red Hat AMQ Streams は、Red Hat AMQ に含まれている製品の一部。

製品サイトがこちら。Red Hat AMQ Streams以外で、Red Hat AMQに含まれる製品も確認できます。
Red Hat AMQ

AMQ Streams が提供しているもの

AMQ Streamsは、以下の2つのバージョンで提供している。

  1. Red Hat Enterprise Linux (RHEL)
  2. Red Hat OpenShift (OCP)

基本的には Apache Kafka の主要なAPIが提供されている。

Apache Kafka Broker
Apache Kafka Connect
Apache Kafka Streaming API
Apache Mirror Maker
Apache Mirror Maker 2
Apache Kafka Java Producer、Consumer、および Management クライアント*
Apache Zookeeper *
HTTP Bridge
Debezium Change Data Capture *

*補足として以下を記載。それぞれの提供形態(On RHELとOn OCP)で、セクションごとにドキュメントに記載があります。 ※最新情報は随時ドキュメントで要確認。→Red Hat AMQ 7 でサポートされる構成

  • Kafka Client APIは、Javaをサポート(その他のClientとなると、HTTP Bridgeを経由してRESTでアクセスするのも一つの手段)
  • Zookeeperは Apache Kafka での利用のみ。
  • DebeizumによるCDC機能はAMQ Streamsではなく、Red Hat Integrationとしてのエンタイトルメント(サブスクリプション)が必要
  • ブロックストレージが必要で、NFSはサポートしません、とApache Kafkaの基本構築要件も同じく適用
  • On OCPで提供する方では、Kubernetes Operator での管理

AMQ Streams on RHEL

RHEL、JVMのバージョンはこちらを参考。
Red Hat AMQ Streams 1.8 for RHEL

※上の”Red Hat AMQ 7 でサポートされる構成”と同じページ。

AMQ Streams on OpenShift

OCPのバージョンはこちらを参考。
Red Hat AMQ Streams 1.8 for OpenShift

Kubernetes 上で Kafka のクラスタが構築・管理されるため、Apache Kafka, Kafka Connect, Kafka Zookeeper, MirrorMaker2 はコンテナイメージとして合わせて提供される。

また AMQ Streams on OpenShift では、Apache Kafkaの構築・運用の自律化のため、Kubernetes OperatorであるAMQ Streams Operatorが提供される。

AMQ Streams OperatorのアップストリームがStrimziである。Strimziは、100% オープンソースプロジェクト(Apache License 2.0)で、Cloud Native Computing Foundation (CNCF)で管理されるプロジェクトの一つです。

Strimzi とは?

Strimziを使うと、KubernetesライクにApache Kafkaを扱うことが可能になります。Strimziとは?と、Strimziのメリットはこちらのサイトが大変わかりやすいです。

ライフサイクル

製品ライフサイクルの情報はこちら。

Red Hat AMQ

AMQ StreamsはのRed Hat AMQの一部なので、そのRed Hat AMQとして記載がある(今今は7.xが最新)。

Red Hat AMQ Streams

では、AMQ Streamsのリリースで言うと。どのくらいの間隔かは過去のリリース日程から鑑みると、だいたい4、5ヶ月くらい。

今までのAMQ Streamsのリリース日程

AMQ Streamsとアップストリームとのバージョンの関係

バージョンの関係

AMQ Streamsと、アップストリームのApache KafkaとStrimziのバージョンの組み合わせは、Red Hat AMQ 7 Component Details Pageに載っている。

LTS

ちなみに1.6には、LTSが出ている。AMQ Streamsの1.6.xのリンクを辿るとドキュメントに行き、以下のような記載があることからOCP 3.11の用途ででの利用のみに使われることがわかる。

AMQ Streams 1.6.4 is supported on OCP 3.11 only — see Long Term Support for OpenShift Container Platform 3.11, below.

その他

Q. Kafka client を Maven からダウンロードするには?

依存関係の追加の方法はここが参考に。

Q. AMQ Streams on RHEL だが、コンテナで動かす手段が取れるか?

取れない。

Apache Kafka の PMC memberは、2021年12月4日でわかる限り2名?がRed Hatに所属していそう。

--

--