RSocket とはなんぞやという話

概要

RSocket とは

  • Reactive Foundationが策定した通信プロトコル
  • 非同期メッセージングのプログラミングモデル(とその実装)である Reactive Streams や Reactive Extensions の形式を踏襲した通信プロトコル
  • バイナリプロトコル
  • クライアントからサーバーへの一方向通信ではなくどちらも requester/responder としてやりとりを開始できる
    • クライアントからサーバーへ接続要求(最初は仕方ない)
    • 同じ接続を再利用してサーバーが requester としてクライアント (responder) へ接続要求
  • QUIC みたいに多重化もできるそうな

低レベル APITCP Socket みたい

  • 直接使うのは大変そう
  • .proto ファイルから requester/responder のソースコードを生成できる

Spring Framework は高レベル API として @MessageMapping を再利用する

  • @RequestMapping と同じ気軽さで実装できる
    • この辺だけ覚えておけばだいたいよさそう
  • (余談) Spring Messaging は Spring Framework 本体に統合されていた・・・いつからなんだ

rsc を使うと開発がはかどる

  • Aiming to be a curl for RSocket
  • デモ用に開発したらしい
  • 「あわよくば標準化を狙ってる」