This document summarizes a microservices meetup hosted by @mosa_siru. Key points include:
1. @mosa_siru is an engineer at DeNA and CTO of Gunosy.
2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway.
3. Challenges discussed were managing 30 microservices, ensuring API latency below 50ms across availability zones, and handling 10 requests per second with nginx load balancing across 20 servers.
This document summarizes a microservices meetup hosted by @mosa_siru. Key points include:
1. @mosa_siru is an engineer at DeNA and CTO of Gunosy.
2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway.
3. Challenges discussed were managing 30 microservices, ensuring API latency below 50ms across availability zones, and handling 10 requests per second with nginx load balancing across 20 servers.
2018年5月23日 Wireless Japan 講演資料です。
昨今各社プラットフォームの急速な対応により普及が見込まれるPWA(Progressive Web Apps)について、その動作のしくみを紐解きながら、既存Webサイトからの「PWA対応」やアプリとしての「PWA実装」への勘所を解説します。
WebRTC Conference Japan 2016 (2016年2月16日) の講演資料です。
発表者は中蔵聡哉と大津谷亮祐 http://www.slideshare.net/rotsuya です。
“Telexistence Robot controlled with WebRTC”
It's the presentation slides at WebRTC Conference Japan on Feb 16, 2016.
The presenters were Toshiya Nakakura and Ryosuke Otsuya http://www.slideshare.net/rotsuya .
13. やったことの流れ
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
13
1.? Spring Bootプロジェクトの雛形作成
2.? Spring Bootに各APIの機能を実装API実装
3.? Spring Securityで認証周りを整備
4.? Vue.jsで画?周りを実装
5.? Vue.jsのビルド物をSpring Boot内に配置
6.? Spring Bootだけでアプリ起動可能に
14. 1. Spring Bootプロジェクトの雛形作成
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
14
1.? Spring Initializrで雛形を作成
2.? 作ったプロジェクトのサマリ
①?Gradle Project
②?Java11
③?Spring Boot2.1.4
④?Spring Security
⑤?MyBatis
Spring Boot
プロジェクト
Webページから
サクッと作成
15. 2. Spring Bootに各APIの機能を実装
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
15
1.? Spring BootはRESTサーバという?ち位置にした。
2.? Controllerクラスに@RestControllerを付け、
RestでのAPI呼び出しを可能にする。
クライ
アント
サーバ
APIへのAjaxリクエスト
APIレスポンス
JS
ここの部分の実装の話
16. 2. Spring Bootに各APIの機能を実装
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
16
1.? 従来のWebアプリケーションとの違い
①?画?遷移や画?表?のためのコントロールはサーバ側では持たない
②?サーバサイドでHTMLを構築するようなこともない
–? Thymeleafを使ってHTMLを構築したりもしない
③?APIサーバという?ち位置なので、クライアントとは疎結合な関係
–? サーバサイドを丸っと別のものに置き換えても、クライアントには影響しない作りにした
クライアント サーバ
②HTTPリクエスト
③HTMLを返却
④画面更新
①画面操作/状態更新
17. 3. Spring Securityで認証周りを整備
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
17
1.? Spring SecurityでAPI呼び出し時に認証トークンがないものは、
受け付けないようにした。
2.? ログイン?APIだけは、認証トークンなしでもアクセス可能にした。
サーバ
APIへのAjaxリクエスト
/loginには認証を付けない
APIへのAjaxリクエスト
19. 5. Vue.jsのビルド媒体をSpring Boot内に配置
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
19
1.? SPAの資産の配信?法の選択肢はどんな物があったか
※今回はオンプレミス前提
①NginxやApacheで配信 ②Spring Bootで配信
静的ファイル
静的ファイル
今回は一定数の限られた
ユーザのみが使うシステムであったため、
Spring Bootのみのシンプル構成にしてみた。
20. 5. Vue.jsのビルド媒体をSpring Boot内に配置
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
20
1.? クライアントのビルド成果物(html,css,js)の出?先を
Spring Bootプロジェクトのsrc/main/resources/staticに設定
2.? Gradleビルドで1のビルド(npm run build)を実?するように設定
静的ファイルも内包したjarファイルが完成!
jar
21. 6. Spring Bootだけでアプリ起動可能に
Copyright ? Acroquest Technology Co., Ltd. All rights reserved.
21
1.? ここまでくれば後は以下のコマンドで起動するだけ
2.? ただし、静的ファイルへのアクセスを
Spring Securityの認証対象外にしておく必要あり
nohup java –jar xxx.jar &
サーバ/login
/js/**, /css/**
その他