MSA
マイクロサービス
:複数の小さなサービスセットを開発する方法
各
MSAとは?
せきぶん
🐈 ベイカーエンドマイクロサービス間のコール非同期通信
:故障波及と依存関係を低減するための通信方法
cf.クライアントによるバックエンドサービスの呼び出しは同期呼び出しである
응답 기다리지 않고 다음 일 처리. 완결성 보장하기 위해 메시지 브로커 활용(63p)
🐈 サービス固有のデータ・ストレージ・モード:クエリーx.APIのみでテーブルを直接呼び出す
:では、データの一貫性は?プライベートパターンまたはCQRSパターン(73 p)
サービス内部構造—アプリケーションアーキテクチャ
:データ中心のアーキテクチャを停止します.🙅♀️
:外部領域を内部領域に依存するように構成します.
マイクロサービスの内部設計に考慮すべきアプリケーションモデル
:内部領域を定義する場合、ビジネスは
:社内リージョンを定義するとき、ビジネスの範囲は非常に広いです.
マイクロサービス開発向けのエンジニアリング
サービス間非同期メッセージに基づくドメインイベントを使用して、ドメインイベントへの依存性、柔軟性、柔軟性を低減
定義
マイクロ・サービスのエクスポート:イベント・トラッキング
ドメインイベントの検索(134 p):Orange🔸
ビジネス・プロセスで発生するイベント.ドメイン・イベントは、ビジネス・ステータスを作成、変更、または削除する要素です.
外部システムエクスポート:Pink👛
ex.電子メール、支払いシステム
カスタムエクスポート:Blu-ray🔵
ドメインイベントを有効にします.後でAPIは
ホットスポットのエクスポート:Purple▼
仮定、警告、問題、未決事項.
エクスポートアクション:Yellow🔱
コマンドを実行するユーザー、組織、およびロール.コマンドの左下隅に貼り付け
アグリゲート定義:Yellow🔱🔱 -> ここからデザインレベル
egregatは、コマンドおよびドメインイベントの影響を受けるデータ要素です.最小ドメインモデルのモジュールユニット.後でデータになる
バインドコンテキストの描画
似たようなアグリゲット間の縛り.
エクスポートポリシー
定着点は、活動の背後にある反応的なビジネスロジックです.ある場所に存在するコマンドを有効にします.必ずしも同じインバウンドコンテキストではありません.他の問題領域のコマンドをトリガーすることもできます.ポリシーバインドコンテキスト間の関係の決定
정책: [도메인 이벤트]할 때는 항상 [커맨드]한다.
コンテキストマッピング
同期および非同期呼び出しの決定
----->Q.バインドコンテキストとサブドメインは異なる概念ですか?サブドメインはDDDの問題領域です
- 비즈니스 프로세스를 수행하기 위한 하나의 맥락의 단위로 구분될 수 있는가?
- 마이크로서비스별로 분리된 데이터를 정의할 수 있는가?
- 하나의 팀이 독립적으로 운영 가능한 단위인가?
- 독립적으로 배포 가능한 단위인가?
- 변경 시 영향을 받는 마이크로서비스가 존재하는가?
- MSA 도입을 통한 기대효과를 충분히 활용할 수 있는가?
Reference
この問題について(MSA), 我々は、より多くの情報をここで見つけました https://velog.io/@psystar99/MSAテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol