2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gRPC-WebをKotlinバックエンドで試した時のメモ - 1. 概要

Last updated at Posted at 2019-09-09

About

Kotlin + SpringBoot でgRPCのバックエンドサービスを構築しつつ、WebのフロントエンドからはgRPC-Webでアクセスする、という構成を試したときのメモです。

ざっくりと以下のような構成になります。

スクリーンショット 2019-09-09 15.35.18.png

仕組み上、BrowserとReverseProxy間の通信はHTTP/1.Xになるので、gRPCのメリットのうちコネクション効率性に関するメリットは享受できないですが、Protocol BuffersによるAPIスキーマ管理の効率化メリットは享受できます。

後から関係者に説明するための参考資料として、試した内容のメモや備忘録を複数回に分けて記載します。

サンプル

GitHubに置きました

サンプルについて

構成

動作

docker-compose upで起動すると、localhost:3000でWebにアクセスできます。

スクリーンショット 2019-09-09 15.58.49.png

Nameフィールドに適当な文字列を入力してSendを押すと、バックエンドから下記のような構造のレスポンスを受信します。

{
  "message": "Hello ${name}",
  "nameLength": ${name.length}
}

バックエンドでは、フロントのサービスであるGreeterServiceと、内部サービスであるTextAnalyzerServiceが協調することで、上記のようなレスポンスを返しています。

スクリーンショット 2019-09-09 16.11.07.png

今後

このサンプルを作るにあたって学んだことやハマったことを、要素毎に複数回に分けて見ていきます。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?