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
44
gRPCを完璧に理解する
5分間社内LT資料
yuki21
August 28, 2020
Tweet
Share
More Decks by yuki21
See All by yuki21
労務ドメインを快適に開発する方法 / How to Comfortably Develop in the Labor Domain
yuki21
1
290
GitHubのコマンドパレット使ってますか?
yuki21
0
1.3k
キャッシュを利用してRailsアプリの処理を高速化する
yuki21
0
110
Next.js & ElectronでTodoアプリを作る
yuki21
0
680
RSpec -基本の基-
yuki21
0
44
Committeeを導入してみた
yuki21
0
110
マイクロサービスとモノリスとKBR
yuki21
0
46
ActiveModelSerializersについて
yuki21
0
33
脆弱性について
yuki21
0
150
Other Decks in Technology
See All in Technology
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
230
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
Kubeshark で Kubernetes の Traffic を眺めてみよう/Let's Look at k8s Traffic with Kubeshark
kota2and3kan
3
370
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
320
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
ハイテク休憩
sat
PRO
2
120
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
190
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
510
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
300
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Become a Pro
speakerdeck
PRO
26
5k
Why Our Code Smells
bkeepers
PRO
335
57k
Designing for humans not robots
tammielis
250
25k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Embracing the Ebb and Flow
colly
84
4.5k
How GitHub (no longer) Works
holman
311
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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