Web ApplicationとReactive Programing
タグバンガーズ
UriComponentBuilderが好きw
Spring Oneにおいて、Reactiveについてよく分かってない人が多数だった。
Spring5
Java界隈ではReactiveについて出遅れてる感ある
Web Applicationにおけるポイント
Reacvieを取り入れることでどう変わるか?
クライアントサイドでいえば…
- よりリッチに
- よりリアルタイムに
ノンブロッキングをコンビに似たとえる
Reactiveじゃない対応をしてしまうと
- リクエストがたくさん来てさばききれないと
- スタッフが増える
- しかし店の広さは決まっている
- コンビニを増やす
- 金がかかる
Reactiveにすると
- お弁当暖める
- レンジ前で担当は寝てる
- 色んな処理を分けてドンドンさばく
- 止まってるものは後回し
- レジ前の対応速度はなるべく早くする
タグバンガーズに入ればSpring One参加できるらしい
乾杯から始まるSpring Framework入門 12/11
Spring Oneを経験してよりよいWebサービスのためにやること
よいドキュメンテーションの仕組み
- 簡単に作れる
- 見やすいドキュメントを作れる
- 更新コストが低い方が良い
- 嘘をつかない(実装と差が発生しにくい)
Swagger色々考慮する点があるよね
Springに適したツール
- Ascii Doc
- Spring REST Docs
Documentationのテストコードを作る。
テストコード実行+ドキュメンテーション出力
adocファイルが出てくる。
Spring Rest Docsはスニペットを生成してくれる。
Cloud
PaaS
前提
- 信頼できないコンポーネントで信頼できるシステムを構築する
- どんなインスタンスでも落ちることはある
- インスタンス単位で100%はできないけど、システムでどうにかする
- 運用コストは開発コストより何倍も大きい
- 開発は数ヶ月かもしれないが、運用はその後ずっと
- 継続的デリバリーでコストを削減する
- プラットフォームが必要!
デモ
LATTICEのデモ
Spring Cloud
Netflix
サービスディスカバリ
Eureka
アプリが起動時に自分で登録にいって状態を通知する
Client側のロードバランシング
Ribbon
- RoundRobinRule
- AvailabilityFilteringRule
- WeightedResponseTimeRule
サーキットブレーカー
Metrics
Spectator
NSOL
去年まではSpring Boot良いぜ!な内容だった。
今年はSpring Boot使っていい感じにしていくぜ!的な内容が多かった。
Spring Securityについて
RestfulAPIの認証
SSL/TLSによるCPU負荷は1%未満だ
HTTPSのトラフィックに耐えられるほど十分に早い