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
Hiromu Takahashi
April 04, 2024
0
27
gRPCの概要について理解できるスライド
以前登壇したLTで使用したスライド
Hiromu Takahashi
April 04, 2024
Tweet
Share
More Decks by Hiromu Takahashi
See All by Hiromu Takahashi
Spring Bootでの定数の扱い
tk_hirom
0
210
触って理解するElasticsearch 1
tk_hirom
0
28
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Typedesign – Prime Four
hannesfritz
42
2.8k
Unsuck your backbone
ammeep
671
58k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Making Projects Easy
brettharned
119
6.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Transcript
gRPC超入門(1/n)
目的 実務で使用する際に、困らない程度の理解 何回かに分けて発表を行う
gRPCとは • Googleが作成した新しい通信プロトコル • 高速通信が得意(REST APIの7~10倍) ◦ HTTPプロトコルがHTTP2 ◦ バイト列でデータをやり取り
• やり取りするデータ型をファイルに定義しておける • 同時に多くのリクエストを捌ける(ストリーミング通信)
gRPCの使い方 1. gRPC利用に必要なライブラリをインストール 2. Protocol Buffersの定義ファイル(protoファイル)を作成 3. ファイルからコード(インターフェイス)を生成 4. そのインターフェイスを用いてControllerを作成
Protocol Buffersとは protoファイルに定義してあるデータ型のデータを、シリアライズしてバイト列にしてくれる もの
デメリット 実装に時間がかかる REST APIと異なりまだ浸透していない。そのため、サードパーティのフレームワークに gRPCを用いた開発のサポート機能が充実していない
gRPCの利用シーン • マイクロサービス ◦ 素早い通信速度が求められるから • 多(プログラミング)言語システム ◦ 様々な言語のコード生成サポートがあるため •
リアルタイムのストリーミング ◦ HTTP2を採用しているため双方向ストリーミングが可能 • 低電力低帯域ネットワーク ◦ やり取りするデータがバイト文字列だから
次回以降の予定 • 実際に動くものを作成しそれを示しつつ基本的な使用方法を共有 • 実務での採用理由
参考文献 https://learn.microsoft.com/ja-jp/dotnet/architecture/grpc-for-wcf-developers/why-gr pc https://knowledge.sakura.ad.jp/24059/