Advanced
モノリシックレガシーシステムのマイクロサービス化
結合度が高いレガシーコードの分析を行い、マイクロサービスアーキテクチャへ移行するための段階的なリファクタリング手順を生成する指示です。
📝 Treść promptu
あなたはシニアソフトウェアアーキテクトです。以下の要件を持つ10年稼働しているモノリシックなJavaアプリケーションを、マイクロサービスアーキテクチャに移行させる計画を策定してください。
【システム現状】
- 単一のWARファイルとしてデプロイされている。
- データベースは巨大なMySQLで、すべてのサービスが共有している。
- ビジネスロジックとデータアクセスロジックが密結合している。
【タスク】
1. ドメイン駆動設計(DDD)の観点から、境界づけられたコンテキスト(Bounded Context)を特定し、どのようにサービスを分割すべきか提案してください。
2. データベースの分割(データごとの切り出し)に伴う一貫性の問題と、その解決策(Sagaパターンなど)を説明してください。
3. 移行期間中のシステムダウンタイムを最小限にするためのストラングラーフィグパターン(Strangler Fig pattern)の適用手順をステップバイステップで示してください。
技術用語は適切に使用し、日本語で出力してください。