Go言語でgRPCを学ぼう!~LongGreetAPI~

こんにちは。KOUKIです。

前回は、GreetManyTimeAPIを実装しました。今回はその続きから実装します。

前回

Go言語記事まとめ

Calc Stream API

前回の復習がてら、Calc Stream APIを作成しましょう。

まずは、calculator.protoファイルに次の定義を行います。

下記のコマンドでコンパイルします。

次は、Serverコードを実装します。

続いて、Clientコードを実装します。

下記のコマンドで、Server->Clientの順でプログラムを実行しましょう。

問題なく実行されましたね。復習終わりです。

LongGreetAPI – プロトファイルの作成 –

本日の目玉は、Client Streaming APIです。

Client Streaming APIには、以下の特徴があります。

Client Streaming APIの特徴 ・ クライアントから複数のレスポンスを送り、サーバーから単一のレスポンスを受け取る
・ クライアントから大量のデータを送りたいときに適する
・ サーバーの処理負荷が高く、クライアントからデータを送信したいときに適する
・ サーバーのレスポンスを待たないで、クライアントからデータを送信したいときに適する

Client Streaming APIを使用するときは、protoファイルのserviceのrequestを”stream“keywordと共に宣言します。

protoファイルを作成します。

protoファイルが定義できたら、以下のコマンドでコンパイルします

LongGreetAPI – Serverコードの作成 –

LongGreet関数を実装します。

LongGreetAPI – Clientコードの作成 –

続いて、Client側のコードを実装していきます。

Clientからは複数のデータを送りたいので、requestsにデータを5つほど詰め込んで、Server側へコードを送信する処理を書きました。

LongGreetAPI – 動作確認 –

Server -> Clientの順に下記のコマンドでプログラムを実行します。

次回

次回は、Bi Directional Streaming APIについて学習します。

参考書籍

コメントを残す