サブドメインで分解する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サブドメインで分解する

このパターンでは、ドメイン駆動型設計 (DDD) サブドメインを使用してモノリスを分解します。このアプローチでは、組織のドメインモデルを個別のサブドメインに分割し、それぞれを コア ( ビジネスにとって重要な差別化要因 )、サポート ( ビジネスに関連する可能性はあるが差別化要因ではない )、または汎用 ( ビジネス固有ではない ) に分類します。このパターンは、サブドメイン関連のモジュール間の境界が明確に定義されている既存のモノリシックシステムに適しています。つまり、既存のモジュールをマイクロサービスとして再パッケージ化することでモノリスを分解できますが、既存のコードを大幅に書き換える必要はありません。各サブドメインにはモデルがあり、そのモデルのスコープは 制限付きコンテキストと呼ばれます。マイクロサービスは、この制限付きコンテキストを中心に開発されます。以下の表では、このパターンを使用する利点と欠点について説明します。

利点 欠点
  • 疎結合アーキテクチャは、スケーラビリティ、回復性、保守性、拡張性、位置の透過性、プロトコルの独立性、時間の独立性を実現します。

  • システムはよりスケーラブルで予測可能になります。

  • 作成するマイクロサービスが多すぎると、サービス検出や統合が困難になり得ます。

  • ビジネスサブドメインは、ビジネス全体を深く理解する必要があるため、特定が困難です。

次の図は、保険のモノリスをビジネス機能別に分解した後に、サブドメインに分解する方法を示しています。

モノリスをサブドメインで分解する

この図は、営業サービスとマーケティングサービスが小さなマイクロサービスに分割されていることを示しています。購入モデルとクレームモデルは営業にとって重要なビジネス上の差別化要因であり、2 つのマイクロサービスに分かれています。マーケティングは、キャンペーン、分析、レポートなどのサポートビジネス機能を使用して分解されます。