Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
gRPCを完璧に理解する
Search
yuki21
August 28, 2020
Technology
0
37
gRPCを完璧に理解する
5分間社内LT資料
yuki21
August 28, 2020
Tweet
Share
More Decks by yuki21
See All by yuki21
GitHubのコマンドパレット使ってますか?
yuki21
0
1.2k
キャッシュを利用してRailsアプリの処理を高速化する
yuki21
0
97
Next.js & ElectronでTodoアプリを作る
yuki21
0
640
RSpec -基本の基-
yuki21
0
34
Committeeを導入してみた
yuki21
0
96
マイクロサービスとモノリスとKBR
yuki21
0
37
ActiveModelSerializersについて
yuki21
0
27
脆弱性について
yuki21
0
140
Other Decks in Technology
See All in Technology
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
1k
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
510
今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
devops_vtj
4
560
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
37k
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
190
【基本】データベース設計
oracle4engineer
PRO
2
180
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
460
いいたいことちゃんという
tkengo
0
230
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
270
生産性向上チームの紹介
cybozuinsideout
PRO
1
920
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
Featured
See All Featured
Web Components: a chance to create the future
zenorocha
306
41k
The Language of Interfaces
destraynor
151
23k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
What the flash - Photography Introduction
edds
64
11k
Done Done
chrislema
178
15k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
A designer walks into a library…
pauljervisheath
201
23k
Optimising Largest Contentful Paint
csswizardry
12
2.4k
Agile that works and the tools we love
rasmusluckow
325
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
13
8.3k
Transcript
gRPCを完璧に理解する Kobayashi Yuta
None
gRPCって何? gRPCは、Googleが開発したオープンソースのRPC Remote Procedure Call フレームワーク です。 データのトランスポートにはHTTP/2、データのシリアライズにはProtocol Buffersを利⽤し、 ⾼速な通信が可能となっています。
RPCって何…? RPCとは、Remote Procedure Callの略で、直訳すると"遠隔⼿続き呼出し"です。 もっと簡単に⾔うと、別空間にあるメソッドを呼び出す処理のことを⾔います。
それってRESTと何が違うの? RESTはリソース指向アーキテクチャを基本としますが、RPCはリソースの縛りを受けませ ん。
つまりどういうことか REST PATCH https://example.com/users/1 Body: { active: true } RPC
POST https://example.com/userActivate
Protocol Buffersって……? Protocol Buffersは構造化データをシリアライズするためのフォーマット記述⾔語です。 データをどのように構造化するかを⼀度定義すると、定義から⽣成されたソースコードを使⽤ して、さまざまなデータストリームや⾔語を使⽤して、データを簡単に書き込んだり、読み込 んだりすることができます。
定義 message Person { required string name = 1; required
int32 id = 2; optional string email = 3; } シリアライズ Person john = Person.newBuilder() .setId(1234) .setName("John Doe") .setEmail("
[email protected]
") .build(); output = new FileOutputStream(args[0]); john.writeTo(output);
gRPCって何? gRPCは、Googleが開発したオープンソースのRPC Remote Procedure Call フレームワーク です。 データのトランスポートにはHTTP/2、データのシリアライズにはProtocol Buffersを利⽤し、 ⾼速な通信が可能となっています。
結局gRPCは何をしているのか?
結局gRPCは何をしているのか? Protocol Buffersの定義から各プログラミング⾔語のクラス定義やサービスを⽣成する Protocol Buffers単体でも利⽤できるが、gRPC⽤のツールも存在する。 ⽣成されたサービスからサーバーとクライアントを実装し、データの双⽅向通信を実現す る
他にも… gRPC⾃体にヘルスチェックの機能であったり、メタデータ(認証の詳細等)を扱う仕組みが ⽤意されているようです。
ご静聴ありがとうございました 参考 Introduction to gRPC https://grpc.io/docs/what-is-grpc/introduction/ サービス間通信のための新技術「gRPC」⼊⾨ | さくらのナレッジ https://knowledge.sakura.ad.jp/24059/
None