マイクロフロントエンドとキャッシュを前提としたCQSアーキテクチャを考える
大前提:
文脈
キーポイント
---
→グローバル展開が容易
フロントはRSCやWeb APIを介してキャッシュサーバーに問い合わせてリソースかき集める スコープが十分小さければクエリはDB直読みでもいい
以下のような要件があれば、バックエンドは分離することを検討する
詳細は後述
基本的な思想
この部分の設計進めるために、事前に要求分析をしておく 特に、集計はDB設計レベルで考慮しておかないと後からKPIが取れなくなるので注意 構築技術
日進月歩な世界ではあるのでこの辺は実際に触らないとみないとわからない気はする
クライアント
データソースをsubscribeする仕組みがあれば、だけどあんまり使いたくはない
エラーやリトライ処理は発生する前提で考える
この辺の処理をクライアントに寄せすぎるとパフォーマンスやセキュリティ面での課題はある サーバー
クライアントへのキャッシュ破棄通知については
フロントにデータ構造の知識を求めたくないので、基本的にはサーバー上で完結させたい
理想的にはApp Routerでキャッシュ境界をつくり、その中で差分検知して配下のコンポーネントを再マウント 現段階では技術的に難しいっぽいけど出来たら嬉しいなkoushisa.icon
URLの一意性などは考慮することあるかもしれない
ほか