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
Spring gRPC について / About Spring gRPC
Search
mackey0225
January 30, 2025
Programming
0
440
Spring gRPC について / About Spring gRPC
2025-01-30 に開催された 関ジャバ'25 1月度 で LT した資料です。
https://kanjava.connpass.com/event/342465/
mackey0225
January 30, 2025
Tweet
Share
More Decks by mackey0225
See All by mackey0225
DuckDB いいよ / My Way of Using DuckDB
mackey0225
1
100
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
5
1.1k
登壇をはじめよう / Getting Started with Presentations
mackey0225
2
380
ポケモンで考えるコミュニケーション / Communication Lessons from Pokémon
mackey0225
5
360
JEPs の変遷から眺める Vector API / Tracking the Progress of Vector API via JEPs
mackey0225
1
220
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
330
SRE チーム立ち上げ前に考えたこと・取り組んだこと / Considerations and Preparations Before Establishing an SRE Team
mackey0225
3
670
ふりかえりに外野として参加することでチームをモチベートしてみた / Motivated the team by participating as an outsider in the retrospectives
mackey0225
3
650
チームの成長を促すためのスプリントレトロスペクティブの活用法 / How to use sprint retrospectives to promote team growth
mackey0225
4
1.1k
Other Decks in Programming
See All in Programming
ローコードサービスの進化のためのモノレポ移行
taro28
1
220
フロントエンドのチューニングに挑戦してみる
jdkfx
0
110
Your Architecture as a Crime Scene:Forensic Analysis @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
160
生産性アップのためのAI個人活用
kunoyasu
0
440
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
410
読まないコードリーディング術
hisaju
1
180
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
330
Rubyと自由とAIと
yotii23
6
2k
Domain-Driven Design (Tutorial)
hschwentner
13
22k
CSC486 Lecture 14
javiergs
PRO
0
130
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
110
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.3k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.2k
Fireside Chat
paigeccino
37
3.3k
Why Our Code Smells
bkeepers
PRO
336
57k
How to train your dragon (web standard)
notwaldorf
91
5.9k
How GitHub (no longer) Works
holman
314
140k
Done Done
chrislema
182
16k
Building an army of robots
kneath
303
45k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
590
Typedesign – Prime Four
hannesfritz
41
2.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Transcript
Spring gRPC について 2025-01-30 関ジャバ'25 1月度 BABY JOB株式会社 浅野 正貴
(@mackey0225)
Spring gRPC について 自己紹介 名前:浅野 正貴 所属:BABY JOB株式会社 最近はインフラや SRE がメイン
X: @mackey0225 明けましておめでとうございます
Spring gRPC について 先に諸注意 • gRPC そのもの説明はしません(というか、できません) • 雰囲気重視です ◦
正確性や実際にどうなんは各自でお願いします ◦ 間違ってたら「おくすり飲めたね」に包んで伝えて ◦ LT(5 分)だと限界がある • 後半でコードが出ますが、字が小さいです ◦ 資料は公開しますので、後でじっくり見てください
それはそうと、
今年から 関ジャバのスタッフに なりました!
今年から 関ジャバのスタッフに なりました! とはいえ、ゴールではなくスタート なにとぞよろしくおねがいしますー
てなわけで、本題!
Spring gRPC について Spring gRPC とは(1) • Spring プロジェクトのひとつ ◦
ただし、Experimental Project • 公開は 2024 年 9 月 • 現在最新は 0.3.0 ◦ GitHub のタグは 0.2.0 ◦ ドキュメントは 0.4.0-SNAPSHOT
Spring gRPC について Spring gRPC とは(1) • Spring プロジェクトのひとつ ◦
ただし、Experimental Project • 公開は 2024 年 9 月 • 現在最新は 0.3.0 ◦ GitHub のタグは 0.2.0 ◦ ドキュメントは 0.4.0-SNAPSHOT https://github.com/spring-projects-experimental
Spring gRPC について • Spring プロジェクトのひとつ ◦ ただし、Experimental Project •
公開は 2024 年 9 月 • 現在最新は 0.3.0 ◦ GitHub のタグは 0.2.0 ◦ ドキュメントは 0.4.0-SNAPSHOT Spring gRPC とは(1) https://github.com/spring-projects-experimental/spring-grpc/activity
Spring gRPC について • Spring プロジェクトのひとつ ◦ ただし、Experimental Project •
公開は 2024 年 9 月 • 現在最新は 0.3.0 ◦ GitHub のタグは 0.2.0 ◦ ドキュメントは 0.4.0-SNAPSHOT Spring gRPC とは(1) https://mvnrepository.com/artifact/org.springframework.grpc/spring-grpc
Spring gRPC について • Spring プロジェクトのひとつ ◦ ただし、Experimental Project •
公開は 2024 年 9 月 • 現在最新は 0.3.0 ◦ GitHub のタグは 0.2.0 ◦ ドキュメントは 0.4.0-SNAPSHOT Spring gRPC とは(1) https://github.com/spring-projects-experimental/spring-grpc/tags
Spring gRPC について • Spring プロジェクトのひとつ ◦ ただし、Experimental Project •
公開は 2024 年 9 月 • 現在最新は 0.3.0 ◦ GitHub のタグは 0.2.0 ◦ ドキュメントは 0.4.0-SNAPSHOT Spring gRPC とは(1) https://docs.spring.io/spring-grpc/reference/
Spring gRPC について Spring gRPC とは(2) 先週、こんな記事が、、、 https://blogs.vmware.com/tanzu/this-month-in-spring-january-2025/
Spring gRPC について Spring gRPC とは(2) 先週、こんな記事が、、、 https://blogs.vmware.com/tanzu/this-month-in-spring-january-2025/
Spring gRPC について Spring gRPC とは(2) 先週、こんな記事が、、、 https://blogs.vmware.com/tanzu/this-month-in-spring-january-2025/ 手順はシンプルで、proto フォルダに
gRPC のサービ ス定義を記述するだけです。
Spring gRPC について Spring gRPC とは(2) 先週、こんな記事が、、、 https://blogs.vmware.com/tanzu/this-month-in-spring-january-2025/ まず start.spring.io
にアクセスし、gRPC を選択して プロジェクトを生成します。 その後、選択したビルドツールでプロジェクトをビル ドすると、自動的にサービスのスタブが生成されま す。
Spring gRPC について Spring gRPC とは(2) 先週、こんな記事が、、、 https://blogs.vmware.com/tanzu/this-month-in-spring-january-2025/ まず start.spring.io
にアクセスし、gRPC を選択して プロジェクトを生成します。 その後、選択したビルドツールでプロジェクトをビル ドすると、自動的にサービスのスタブが生成されま す。
Spring gRPC について Spring gRPC とは(2) 先週、こんな記事が、、、 まず start.spring.io にアクセスし、gRPC
を選択して プロジェクトを生成します。 その後、選択したビルドツールでプロジェクトをビル ドすると、自動的にサービスのスタブが生成されま す。 https://start.spring.io/
Spring gRPC について Spring gRPC とは(2) 先週、こんな記事が、、、 まず start.spring.io にアクセスし、gRPC
を選択して プロジェクトを生成します。 その後、選択したビルドツールでプロジェクトをビル ドすると、自動的にサービスのスタブが生成されま す。 https://start.spring.io/ というわけで、やってみた!
Spring gRPC について お試し Spring gRPC
Spring gRPC について お試し Spring gRPC
Spring gRPC について お試し Spring gRPC プロジェクト作成時点で proto ディレクトリが作成されている。 (併せて、依存関係も追加済み)
Spring gRPC について お試し Spring gRPC コード参考: https://github.com/spring-projects-experimental/spring-grpc/blob/main/samples/grpc-server/src/ main/proto/hello.proto proto
ディレクトリ内に .proto ファイルを追加。
Spring gRPC について お試し Spring gRPC ビルドすると左のコードが作成。 (Gradle だと build
ディレクトリ)
Spring gRPC について お試し Spring gRPC コード参考: https://github.com/spring-projects-experimental/spring-grpc/blob/main/samples/grpc-server/src/ main/java/org/springframework/grpc/sample/GrpcServerService.java 生成されたコードに対して、処理を
定義していく。
Spring gRPC について お試し Spring gRPC いつも通り、Spring Boot を起動。
Spring gRPC について お試し Spring gRPC .proto で定義したエンドポイントを叩くと結果が返る。 (「\u003e」は「>」がエスケープされている)
Spring gRPC について お試し Spring gRPC .proto で定義したエンドポイントを叩くと結果が返る。 (「\u003e」は「>」がエスケープされている) できた!簡単!
Spring gRPC について まとめのようなもの • Spring Boot 上での gRPC 通信を簡単に導入・実現できる
• まだ Experimental なので、仕様は変わるかも ◦ 実戦投入はまだ厳しいかな(不安) • 公式のブログでも以下の内容もあるので期待は高い ◦ GraalVM での実行 ◦ Spring Security との連携 など
Spring gRPC について 参考情報 • Spring gRPC Reference ◦ https://docs.spring.io/spring-grpc/reference/index.html
• GitHub の Project ◦ https://github.com/spring-projects-experimental/spring-grpc • This Month in Spring – January 2025 ◦ https://blogs.vmware.com/tanzu/this-month-in-spring-january-2025/ • 例で使用したサンプルコード ◦ https://github.com/spring-projects-experimental/spring-grpc/tree/m ain/samples/grpc-server
ご静聴いただき ありがとうございました!