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
50
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
450
GitHubのコマンドパレット使ってますか?
yuki21
0
1.6k
キャッシュを利用してRailsアプリの処理を高速化する
yuki21
0
120
Next.js & ElectronでTodoアプリを作る
yuki21
0
730
RSpec -基本の基-
yuki21
0
50
Committeeを導入してみた
yuki21
0
140
マイクロサービスとモノリスとKBR
yuki21
0
51
ActiveModelSerializersについて
yuki21
0
40
脆弱性について
yuki21
0
160
Other Decks in Technology
See All in Technology
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
170
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
0
110
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
230
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
310
スピンアウト講座02_ファイル管理
overflowinc
0
450
プラットフォームエンジニアリングはAI時代の開発者をどう救うのか
jacopen
8
4.1k
Phase01_AI座学_基礎
overflowinc
0
1.4k
ガバメントクラウドにおけるAWSの長期継続割引について
takeda_h
2
5.4k
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
150
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
390
フロントエンド刷新 4年間の軌跡
yotahada3
0
530
A4)シラバスを超えて語る、テストマネジメント
moritamasami
0
110
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
220
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
200
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
420
The browser strikes back
jonoalderson
0
820
Abbi's Birthday
coloredviolet
2
5.5k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
How STYLIGHT went responsive
nonsquared
100
6k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
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