Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GoでgRPCを使ってみた

Nayuta S.
August 21, 2019

 GoでgRPCを使ってみた

DOG #4 で登壇した際のスライドです。
Go言語で以前から関心のあったgRPCを使った通信を行なってみたのでシェアしました。Go言語はまだまだ初心者の域を出ていないので間違いなどあればご指摘ください。

Nayuta S.

August 21, 2019
Tweet

More Decks by Nayuta S.

Other Decks in Programming

Transcript

  1. 自己紹介 • 名前: Nayu T. S. • SNS:@tasotasoso • 仕事:インフラがメイン

    / AWSとか • 趣味: ビール • Go歴:3ヶ月くらい
  2. 理想 どのサービスにも共通して使えるインターフェースを 約束する必要がある。 新規契約、 氏はXXX 名はXXX、 電話は△△△-XXX- ◦◦◦ 契約種別 氏・名

    電話番号 を文字列で送って。 結果を文字列で 送って。 gRPC& ProtocolBuffers こんなサービスがあったら嬉しい。 水道屋さん ご契約ありがとう ございます! (Go) 電気屋さん (Ruby) ご契約ありがとう ございます! ガス屋さん (Java) ご契約ありがとう ございます!
  3. gRPCとは 1. Protocol Buffers(IDL)で、 インターフェース(型付き)を定義する。 2. 様々なプログラミング言語のコードを 自動生成する。 3. HTTP2上で動作する。

    - 単項gRPC - ストリームgRPC 様々な環境で動作するハイパフォーマンスRPC (Remote Procedure Call)フレームワーク。 特徴 What is gRPC? から引用
  4. 実際にやってみる フロント サーバー (Go) 契約サービス ( Go ) http 単項gRPC

    ▼申し込み画面 ▼申し込み結果画面 コンテナ コンテナ ローカル コードはgithubにあります。https://github.com/tasotasoso/go-gRPC
  5. Dockerで動かしてみる Step1 Step2 Step3 • gRPC & Protocol Buffers の使い方

    • Goサーバーのdocker化の方法 • Docker-composeの使い方 • Docker間通信の仕方 Goサーバー間の通信さえ分かれば、あとはDockerの勉強が中心になった。