BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Apple、ServiceTalkをJavaコミュニティにオープンソース化

Apple、ServiceTalkをJavaコミュニティにオープンソース化

原文(投稿日:2019/12/31)へのリンク

AppleがServiceTalkをオープンソース化した。これはNetty上に共通の拡張可能なネットワーク抽象化を提供するJVMネットワークアプリケーションフレームワークだ。ServiceTalkが作られたのは、スレッド化やユーザビリティなどNettyが提供する低レベルの抽象化を改善するためだ。HTTP/1.x、HTTP/2.0、gRPCなどよく使われるプロトコルに対して高レベルでターゲットを絞ったAPIを提供し、クライアントサイドのロードバランシングやサービスディスカバリ統合を含む一貫したネットワーキングスタックおよび機能セットを備えている。

ServiceTalkは、各種ブロッキングパターンを含むReactive Streamsに基づく様々なプログラミングパラダイムをサポートするよう設計されており、特に、同期および非同期のAPI境界をまたぐ強力なユーティリティを備えている。これにより開発者は、アプリケーション内で今のところ必要ない非同期制御フローの複雑さを先送りすることができる。Reactive Streamsオペレーターのネイティブ実装は、メモリ消費の制限、AsyncContextデフォルトでのブロッキングセーフなど同期・非同期横断の機能、Reactive Streams仕様における同時実行ルールを活用したサーバーサイドユースケースの最適化に重点を置いている。

ServiceTalkをオープンソース化した目的は、Javaコミュニティからのコントリビューションが可能なビルディングブロックを提供することだ。これまでJavaコミュニティで築いてきた関係により、AppleはServiceTalkで同様のコミュニティを育成することを望んでいる。AppleはInfoQに対して、ServiceTalkは短期間でオープンソース化され、Project Reactor、Micronaut、RxJava、gRPC、Vert.xなどからの関心が高まっている、と語った。

Appleはまた、JavaコミュニティがServiceTalkに貢献する機会は、次のような領域でたくさんあると語っている。Spring Boot、Micronaut、Project Reactorとの統合、既存および新規プロトコルに対する機能強化、プラグイン可能なServiceDiscoverer APIを介したサービスディスカバリとの統合、新しいReactive Streams オペレーターの実装、クライアントサイドのロードバランシング領域で現在進行中の作業などだ。

ServiceTalkを使ってみるには、非同期およびブロッキング環境のためのHTTPgRPCのサンプルを学ぶとよいだろう。

この記事に星をつける

おすすめ度
スタイル

BT