2016-06-12 なぜ書いたか 仕事で複数のサーバで同じ処理を実行して結果を集めたいというニーズがあって、各サーバをgRPCのサーバにするという実装でとりあえず実現していました。でも、出来れば処理を実行するワーカーサーバから制御サーバに接続して繋ぎっぱなしにしておいて、制御サーバからジョブを送り込む方式にしたいなーと思っていて、家で実装を進めていました。 これまでに試したこと gRPCにBidirectional streaming RPCというのがあったので、hnakamur/grpc_notification_experimentで試してみたのですが、複数クライアントがサーバに接続した状態で、サーバからクライアントにジョブを投げても、1つのクライアントでしか処理が実行されないということがわかりました。 次に、ワーカーサーバから制御サーバにTCPのソケットで接続しておいて、制御サーバ