最近grpcのScala対応をしています

成果まとまったら、後でまともな解説を書く。はず


grpcとは、google先生が出した、http2上のRPCフレームワークです。

http://www.grpc.io/

そのままなのか、似たような多少違う何かなのかはよくわかりませんが、googleさん内部でもこういったもの使ってるんでしょう。

LINEでもつい昨日今日に、RPCフレームワークの発表があったし、時代はRESTでjsonじゃなく、バイナリプロトコルでhttp2でRPCですね(超適当



シリアライズの形式はカスタマイズできるようになってるらしいですが、デフォルトはprotobuf 3だし、まだそこまで安定してないこともあって、protobuf以外が盛んに使われる流れはなさそうですね。
これ以上詳しい解説は、適当にググるなり、公式ドキュメント読むなりしてください。



少し前にprotobufに関してtweetしたりblog書いてたのは、この作業してた流れです。

grpcのScala版作るとなると、当然Javaのやつ(Javaのやつはnettyやokhttpに依存)に依存して作ることになりますね。
というわけで、Javaでのgrpc情報に詳しい人と仲良くなりたい?ですが、まだgrpc自体がbeta版なこともあってか、あまり多く見かけないですね。

https://github.com/grpc/grpc-java/issues/1151

Scala版、大体出来てるのだけどまだ完全には完成してないので、今のところ書けるのは、この程度です。
もう少しなので頑張ろう・・・