RSocket とはなんぞやという話
- 概要
- RSocket とは
- 低レベル API は TCP Socket みたい
- Spring Framework は高レベル API として @MessageMapping を再利用する
- rsc を使うと開発がはかどる
概要
- Spring Fest '19で槙さんのセッションを聞いてきた
- 基本的にセッション資料を読めばよい
RSocket とは
- Reactive Foundationが策定した通信プロトコル
- 非同期メッセージングのプログラミングモデル(とその実装)である Reactive Streams や Reactive Extensions の形式を踏襲した通信プロトコル
- バイナリプロトコル
- クライアントからサーバーへの一方向通信ではなくどちらも requester/responder としてやりとりを開始できる
- クライアントからサーバーへ接続要求(最初は仕方ない)
- 同じ接続を再利用してサーバーが requester としてクライアント (responder) へ接続要求
- QUIC みたいに多重化もできるそうな
低レベル API は TCP Socket みたい
- 直接使うのは大変そう
.proto
ファイルから requester/responder のソースコードを生成できる
Spring Framework は高レベル API として @MessageMapping
を再利用する
@RequestMapping
と同じ気軽さで実装できる- この辺だけ覚えておけばだいたいよさそう
- (余談) Spring Messaging は Spring Framework 本体に統合されていた・・・いつからなんだ
rsc を使うと開発がはかどる
Aiming to be a curl for RSocket
- デモ用に開発したらしい
- 「あわよくば標準化を狙ってる」