Closed5
システムをどのように編成するかの考えの整理

全体像
基本的にバックエンドはビジネスロジックに集中させ、マイクロサービス化されたシステム全体のプレゼンテーションをフロントエンドとして切り出す

バックエンドの編成
マイクロサービスの粒度はコンテキストマップを元に、自律可能な業務領域を実現可能な単位をひとつのサービスとする
マイクロサービス間の連携
- コンテキストマップの上流・下流と一致するように依存させる
- 基本的な方針:
- 参照は同期的連携
- 操作は非同期的連携
- 通信方式は HTTP でも gRPC でもなんでもいい

フロントエンドの編成
サービスブループリントを元に、良いユーザー体験を生み出す出面を構成するために必要な粒度で編成する
- バックエンドとは違い、業務領域でシステムを分けない
- 複数の業務ロジックをひとつの画面で行うこともあるため
他の視点
一連のユーザー体験の中で単一障害点とならない範囲で分割する
別のユーザー体験を生み出すフロントエンドAとBがあった時に、Bに障害があったとしても別のユーザー体験のためAを使うユーザー体験には問題がない状態

バックエンドはビジネスの一連のユースケースを実現する単位で構築
フロントエンドはユーザーの一連のユースケースを実現する単位で構築

品質特性の違い
このスクラップは2ヶ月前にクローズされました