プレイブック

モジュールフェデレーション: シェルとリモートの合意 (Module Federation Shell And Remotes)

モジュール フェデレーション: シェルとリモート コントラクト — 物流業務における生産レッスン。

物流マイクロフロントエンドプラットフォーム(モジュールフェデレーション)

一部 2 の 10

モジュールフェデレーションを使用して、物流操作パネルをシェル、認証、機能リモートに分割する一連の操作。

Micro frontend architecture diagram

モジュールフェデレーション: シェルとリモートの合意

シェルはリモートをインストールします。リモートはページやログインなどのスライスを公開します。 Webpack モジュール フェデレーションは、remoteEntry.js を介してモジュールを公開するホストとリモートに名前を付けます。```text host + remotes + remoteEntry.js


## 最初に説明した概念```text
📦 Shell (Host)
Remotes'u yükleyen, ortak layout ve üst seviye routing taşıyan uygulama.

📦 Remote
remoteEntry.js üzerinden modül expose eden bağımsız build.

📦 Expose Path
Tüketicilerin import ettiği public modül yolu (ör. auth/Login).

📦 Shared Singleton
React gibi bağımlılıkların tek kopyada çalışmasını zorunlu kılan Federation ayarı.
```これらの概念を区別できないため、チームは UI と統合境界を混同しています。

## 問題の形式

Webpack モジュール フェデレーションは、remoteEntry.js を介してモジュールを公開するホストとリモートに名前を付けます。```text
host + remotes + remoteEntry.js
```## 従業員の区別

シェルはリモートをインストールします。リモートはページやログインなどのスライスを公開します。```text
host + remotes + remoteEntry.js
        ↓
   explicit contract
```## 本番環境で位置が壊れている

契約または半径/アイデンティティ/展開の前提が曖昧な場合、インシデントは拡大します。目に見える契約、目に見える失効。

## このエピソードで最も混乱を招く対戦```text
❌ Her şey tek uygulamada daha güvenli
✓ Sınırlar net değilse tek uygulama daha kırılgandır

❌ Konfigürasyon kodda hardcoded kalsın
✓ Yarıçap, remote URL ve expose path operasyonel kontratlardır

❌ Vendor/API gerçeği UI state'tir
✓ Vendor feed kanıt, ops state karardır

独自のシステムのチェックリスト

  1. このサーフェスの所有権境界を 1 文で書きます。
  2. 誰がどの契約変更を展開しますか?
  3. タイムアウトまたはベンダー遅延時に UI には何が表示されますか?
  4. スタンドアロン シナリオと組み込みシナリオを別々にテストしますか?
  5. 拒否リスト: コンテンツに企業/ベンダーのドメインの漏洩はありますか?

このセクションで覚えておくべきこと

  1. コントラクトが表示される必要があります: パス、半径、チケットのステータス、またはリモート URL を公開します。
  2. UI と外部システムの間のギャップは設計上の決定であり、バグではありません。
  3. 独立したデプロイは、独立したロールバックを意味します。

非表示にした制限により、本番環境で見つかることになります。

FAQ

よくある質問

シェル(ホスト)とは何ですか?

リモートをインストールし、共通のレイアウトと高レベルのルーティングを実行するアプリケーション。

リモートとは何ですか?

RemoteEntry.js 経由でモジュールを公開するスタンドアロン ビルド。

「1 つのアプリですべてが安全」は本当ですか?

境界が明確でない場合、単一のアプリケーションはより脆弱になります

このセクションでは何を修正しますか?

シェルはリモートをインストールします。リモートはページやログインなどのスライスを公開します。シェルはリモートをインストールします。リモートはページやログインなどのスライスを公開します。 Webpack モジュール フェデレーションは、remoteEntry.js を介してモジュールを公開するホストとリモートに名前を付けます。

学んだエンジニアリング原則

  • 所有権と公開の制限は、ドメイン モデルと同様に現実のものです。
  • 外部システムは証拠を生成します。運用状況はお客様が決定します。
  • 契約をサーバーのように管理します。インテリアディテールを公開。

続きを読む

続きを読む

シリーズの次のシリーズ

シリーズの次のシリーズ

同じシリーズ

Paylaş