MSA


マイクロサービス


:複数の小さなサービスセットを開発する方法
  • サーバ側は複数の部分からなり、各サービスは個別のインスタンス
  • をロードする.
  • 複数のサービスインスタンスが集約する1つのビジネスアプリケーション
  • を構成する.
  • は各リポジトリ(DB)が異なるため、モジュール境界が明確である->は特定の機能から独立して拡張することができる.特定のサービスが変更された場合、対応するサービスを構築および導入するだけで、
  • サービスは独立しており、異なる言語で
  • を開発することもできます.
  • サービスは業務機能単位で、自動化配置を採用し、集中管理を最低
  • に下げる.
  • サービスのリポジトリを分離して、他のサービスがリポジトリを直接呼び出すことを防止します.他のサービス・リポジトリにアクセスする方法はAPIのみです.ex. REST API. 各サービスは緩やかに連絡を取り合っている.使いやすいユーザー
  • MSAとは?

  • マイクロサービスに基づくアーキテクチャと開発方法
  • とクラウドインフラストラクチャ技術の発展を結びつける
  • 独立した拡張、変更、導入
  • サービス
  • せきぶん


    🐈 ベイカーエンドマイクロサービス間のコール非同期通信
    :故障波及と依存関係を低減するための通信方法
    cf.クライアントによるバックエンドサービスの呼び出しは同期呼び出しである
    응답 기다리지 않고 다음 일 처리. 완결성 보장하기 위해 메시지 브로커 활용(63p)
    🐈 サービス固有のデータ・ストレージ・モード
    :クエリーx.APIのみでテーブルを直接呼び出す
    :では、データの一貫性は?プライベートパターンまたはCQRSパターン(73 p)
    サービス内部構造—アプリケーションアーキテクチャ
    :データ中心のアーキテクチャを停止します.🙅‍♀️
  • ギガヘルツアーキテクチャ
    :外部領域を内部領域に依存するように構成します.
  • 層アーキテクチャ
  • このアイデアはどのようにマイクロサービスと結びついていますか?
    マイクロサービスの内部設計に考慮すべきアプリケーションモデル
  • トランザクション・スクリプト・モード
    :内部領域を定義する場合、ビジネスは
  • しか必要ありません.
  • ドメインモデルモード
    :社内リージョンを定義するとき、ビジネスの範囲は非常に広いです.

    マイクロサービス開発向けのエンジニアリング


    サービス間非同期メッセージに基づくドメインイベントを使用して、ドメインイベントへの依存性、柔軟性、柔軟性を低減
    定義
  • アーキテクチャ
  • マイクロサービスエクスポート
  • ベイカーエンド/フロントエンド設計と開発
  • バージョン/リリース設計および開発プロセス
  • マイクロ・サービスのエクスポート:イベント・トラッキング


  • ドメインイベントの検索(134 p):Orange🔸
    ビジネス・プロセスで発生するイベント.ドメイン・イベントは、ビジネス・ステータスを作成、変更、または削除する要素です.

  • 外部システムエクスポート:Pink👛
    ex.電子メール、支払いシステム

  • カスタムエクスポート:Blu-ray🔵
    ドメインイベントを有効にします.後でAPIは

  • ホットスポットのエクスポート:Purple▼
    仮定、警告、問題、未決事項.

  • エクスポートアクション:Yellow🔱
    コマンドを実行するユーザー、組織、およびロール.コマンドの左下隅に貼り付け

  • アグリゲート定義:Yellow🔱🔱 -> ここからデザインレベル
    egregatは、コマンドおよびドメインイベントの影響を受けるデータ要素です.最小ドメインモデルのモジュールユニット.後でデータになる

  • バインドコンテキストの描画
    似たようなアグリゲット間の縛り.

  • エクスポートポリシー
    定着点は、活動の背後にある反応的なビジネスロジックです.ある場所に存在するコマンドを有効にします.必ずしも同じインバウンドコンテキストではありません.他の問題領域のコマンドをトリガーすることもできます.ポリシーバインドコンテキスト間の関係の決定
    정책: [도메인 이벤트]할 때는 항상 [커맨드]한다. 

  • コンテキストマッピング
    同期および非同期呼び出しの決定
  • 次のことを考慮して、バインドコンテキストを最終的なマイクロサービスとして認識します.統合または分離
    ----->Q.バインドコンテキストとサブドメインは異なる概念ですか?サブドメインはDDDの問題領域です
    - 비즈니스 프로세스를 수행하기 위한 하나의 맥락의 단위로 구분될 수 있는가?
    - 마이크로서비스별로 분리된 데이터를 정의할 수 있는가?
    - 하나의 팀이 독립적으로 운영 가능한 단위인가?
    - 독립적으로 배포 가능한 단위인가?
    - 변경 시 영향을 받는 마이크로서비스가 존재하는가?
    - MSA 도입을 통한 기대효과를 충분히 활용할 수 있는가?