
Spring for Apache Kafka
NRIのOpenStandiaが提供するSpring for Apache Kafka最新情報
Spring for Apache Kafka情報
Spring for Apache Kafkaとは
Spring for Apache Kafka(SpringKafka)プロジェクトは、SpringのコアコンセプトをKafkaベースのメッセージングソリューションの開発に適用したものです。
メッセージを送信するためのハイレベルな抽象化テンプレートとしてKafkaTemplateを提供しています。また、@KafkaListenerアノテーションによるメッセージ駆動型POJO(Plain Old Java Object)をサポートし、シンプルなSpringテンプレートプログラミングモデルを提供します。
主な特徴
Spring for Apache Kafkaの特徴として、以下のような機能を備えています。
KafkaTemplate |
Kafkaにメッセージを送信するためのメソッドを提供します。型引数を指定する必要があり、それぞれ送信するデータのKeyとvalueの型を指定します。 |
---|---|
KafkaMessage |
単一のスレッド上のすべてのトピックまたはパーティションからすべてのメッセージを受信します。 |
ConcurrentMessage |
concurrency に基づいて1つ以上の KafkaMessageListenerContainer を作成して、メッセージを受信するマルチスレッドのリスナー。 |
@KafkaListener |
POJOベースのConsumerを設定・実装できるようにします。 |
Micrometer |
リスナーコンテナーやテンプレート、ProducerやConsumerのトランザクション制御を行います。これを利用するためには、DefaultKafkaProducerFactoryに transactionIdPrefixを提供することにより有効になります。 |
KafkaTransactionManager |
リスナーコンテナーやテンプレートのパフォーマンス、ProducerやConsumerのmetricsを収集することが出来ます。 |
Kafka Streamsサポート |
Kafka Streamsのサポートを提供します。 |
アプリケーションテスト |
組み込みkafkaサーバーやJUnit、テスト用Utilなどのアプリケーションのテストに役立つ便利なユーティリティがいくつか含まれたspring-kafka-test jarを提供しています。 |
動作環境
Spring for Apache KafkaはSpringBoot2.6以降、もしくは一部機能を制限されますが、Java7以降が導入されているプラットフォームで動作します。前提条件として、Apache Kafkaがインストールされている必要があります。
Spring for Apache Kafkaのライセンス
Spring for Apache Kafkaのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Apache Struts
アパッチストラッツ。Java言語を用いてWebアプリケーションを開発するためのフレームワークです。
-
Apache Wicket
アパッチウィケット。Javaで実装されたコンポーネントベースのWebアプリケーションフレームワークです。
-
サポート対象
MyBatis
マイバティス。iBATISの後継プロジェクトとして開発され、Javaならびに.NET Frameworkプラットフォームが対象のデータマッパーフレームワークです。
あわせてご確認ください。