BT

Spring Cloud Stream 2.0がリリース、パフォーマンス、柔軟性、一貫性を重視

| 作者: Daniel Bryant フォローする 636 人のフォロワー , 翻訳者 h_yoshida _ フォローする 0 人のフォロワー 投稿日 2018年5月9日. 推定読書時間: 4 分 |

原文(投稿日:2018/04/17)へのリンク

読者の皆様へ: 皆様のご要望にお応えするべく、ノイズを削減する機能セットを開発しました。皆様が関心をお持ちのトピックを、EメールとWeb通知で受け取ることができます。新機能をぜひお試しください。

Pivotalは、スケーラブルなイベント駆動マイクロサービスベースのアプリケーション開発を目的とした、Spring Cloud Stream 2.0フレームワークの一般向けリリースを発表した。今回のリリースには、コンテントタイプのネゴシエーション機能の改善(ユーザ定義のメッセージコンバータが利用可能になった)、フットプリントの削減、ポーリングコンシューマ(polliong consumer)オプション、Micrometerメトリックのサポート、Apache Kafka Streamsサポートの強化などが含まれる。

Spring Cloud Streamは、“共有メッセージングシステムに接続された、高度にスケーラブルなイベント駆動マイクロサービス”を構築するためのフレームワークである。さまざまな抽象化とプリミティブを提供することにより、Springエコシステム内のメッセージ駆動アプリケーション開発を簡略化する。Spring Cloud Streamを使用したアプリケーションは“ミドルウェアニュートラルなコア”から構成され、フレームワークによって注入(inject)されるインプットおよびアウトプットチャネルを通じて外部との通信を行う。各チャネルは、ミドルウェア対応の“Binderインプリメンテーション”を通じて外部のブローカに接続される。現時点ではRabbitMQとApache Kafkaがサポートされている。

Spring Cloud Streamの中核となるビルディングブロックは次のものだ。

  • Destination Binder -- 外部メッセージングシステムとの統合を提供するコンポーネント。
  • Destination Binding -- 外部メッセージングシステムとアプリケーションをメッセージの“プロデューサ”と“コンシューマ”としてブリッジする。
  • Message -- プロデューサとコンシューマがDestination Builder、および外部メッセージングシステムを介して他アプリケーションと通信する際に使用する、基本的なデータ構造。

 

Spring Cloud Stream 2.0
Spring Cloud Stream 2.0のアーキテクチャとメッセージフロー処理(Spring Blogより引用)

 

Spring Cloud Stream 2.0では、チャネルベースのバインダにおけるコンテントタイプのネゴシエーション機能のパフォーマンス、柔軟性、一貫性が大幅に改善されている。先日公開されたブログ記事にその概要が説明されている他、リファレンスガイドの“Content Type Negotiation”の章にも詳細な説明がある。今回の改訂でユーザ定義のメッセージコンバータが新たに使用可能になったが、さらに注目すべきなのは、Avroベースのコンバータがサポートされたことにより、今後のスキーマの発展に対する明確なパスが提供された点だ。

その他の注目すべき新機能と拡張としては、以下のものがある。

  • ポーリングコンシューマ -- 今回のリリースでポーリング形式のコンシューマが導入され、アプリケーションによるメッセージ処理速度の制御が可能になった。
  • Micrometerサポート -- メトリクスのサポートが変更され、新たにリリースされたMicrometerを使用するようになった。
  • 新しいアクチュエータバインディングコントロール -- バインディングライフサイクルの可視化と制御が可能になった。
  • アクチュエータとWebのオプション化 -- Webフレームワークの選択に関する“フットプリントの簡略化と柔軟性の向上”のため(新たに採用されたwebfluxアプローチにより必然的に)、Spring BootのアクチュエータとWebがいずれもオプションとなり、デフォルトでフレームワークに含まれなくなった。
  • Apache Kafka Streamsのサポート強化 -- 今回のリリースには、kafka StreamsおよびKafkaのチャネルベースのバインディングとの相互運用性の強化、バインド可能なコンポーネントとしての複数のKafka Streamsタイプ(KStream、KTableなど)、対話型クエリのサポートが含まれている。

Spring Cloud Stream 2.0のGAリリースに関する追加情報は、Spring Engineeringブログの記事“Announcing General Availability of Spring Cloud Stream - Elmhurst.RELEASE (2.0.0.RELEASE)”、 Spring Cloud Stream GitHubリポジトリ、“quick start”ガイドにある。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT