AivenがApache Kafka 3.0をサポートしました

AivenがApache Kafka 3.0をサポートしたのでやってみました。

はじめに

アライアンス統括部の佐々木です。AivenがApache Kafka 3.0をサポートしました。

早速やってみます!

やってみた

サービスの作成

Aiven Dashboardの[Services]画面から[+ Create a new service]をクリックします。

[Create Service]画面に遷移します。Kafka Version 3.0が選択可能になっていることがわかります。こちらをクリックして選択し、[Create Service]ボタンをクリックします。

Kafkaサービスがビルドされます。

しばらく待っているとステータスがRunningになります。

作成したサービスをクリックすると詳細画面に遷移します。

動作確認

KafkaにTopicを作成します。[Services]-[Topics]を選択し、[Topic name]にテスト用Topicの名前を入力します。[Add topic]ボタンをクリックします。

Topicが作成されます。

次に接続するための環境を作ります。ローカル環境はMacBook Pro、macOS Big Surです。Kafkaを試すために、簡易的なKafkaクライアントであるkcatHomebrewを使ってインストールします。

% brew install kcat

kcatを使ってKafkaを試す手順は以下のドキュメントにあります。

まずはkcatのコンフィグファイルを作成し、接続情報などを記載します。service.key、service.cert、ca.pemはAiven管理コンソールでサービス詳細画面からダウンロードできます。コマンドを実行するディレクトリに一緒に置いておいてください。

% vi kcat.config
bootstrap.servers=kafka-d2bac68-XXXXX.aivencloud.com:28815
security.protocol=ssl
ssl.key.location=service.key
ssl.certificate.location=service.cert
ssl.ca.location=ca.pem

kcatを使って、作成したTopicに対し、「test-message-content」という文字列を投入します。

% echo test-message-content | kcat -F kcat.config -P -t test-topic -k test-message-key

引数は以下の通りです。

  • -P: Producer modeで利用
  • -t: Topicを指定
  • -k: メッセージキーを指定

次に、Topicからメッセージを受信します。

% kcat -F kcat.config -C -t test-topic -o -1 -e
% Reading configuration from file kcat.config
test-message-content
% Reached end of topic test-topic [0] at offset 1: exiting

引数は以下の通りです。

  • -C: Consumer modeで利用
  • -t: Topicを指定
  • -o: Topicの開始位置
  • -e: Topicの終わりに達するとkcatを停止する

ということで、無事にKafka 3.0が起動し、kcatを使ってメッセージの送受信が出来ました!

さいごに

フルマネージドなKafkaとしてはAmazon Managed Streaming for Apache Kafkaもありますが、クラウドベンダに依存せず使えるメッセージキューとして、AivenでのKafkaも選択肢の一つになるのではないでしょうか。