gRPCはGoogleが公開したRPCフレームワークで、gRPCを使うと、サーバー・クライアントで異なる言語間においてもローカルオブジェクトかのごとくメソッドを呼び出すことができます。
詳細は下記をご覧ください。
このエントリでは、公式サンプルを使ってGoで立てたgRPCサーバーのメソッドをRubyクライアントから呼び出してみます。
まずはRubyとGoのgRPCサンプルをそれぞれ動かしてみます。下記のページに従って準備します。
今回使用したバージョンはRuby 2.5.1とGo 1.11.0です。
動作確認をしたら、Goで立てたサーバーにRubyクライアントで接続してみます。
% go run greeter_server/main.go
% ruby greeter_client.rb
"Greeting: Hello world"
% ruby greeter_client.rb hoge
"Greeting: Hello hoge"
RubyクライアントからGoサーバーのメソッドが呼び出すことができました。
gRPCでの開発では、protoファイルが共有されていることと、protoファイルが変更されたときgRPCコードを再生成することを守る必要があります。
gRPCを使えば、例えばスマホアプリのクライアントで、データ操作やロジックに関するメソッドを全てサーバ側に寄せて、クライアントコードはブラウザに徹するなどすれば、コードの見通しが格段にアップしそうです。
以上です。
このエントリでは、公式サンプルを使ってGoで立てたgRPCサーバーのメソッドをRubyクライアントから呼び出す例を紹介しました。
コメントを送る
コメントはブログオーナーのみ閲覧できます