Oyun Kitabı
Module Federation: Shell ve Remote Sözleşmesi (Modul Federasyonu Shell Ve Remote)
Module Federation: Shell ve Remote Sözleşmesi — lojistik operasyonlarında üretim dersi.
Lojistik Mikro Frontend Platformu (Module Federation)
Bolum 2 / 10
Lojistik operasyon panellerini Module Federation ile shell, auth ve feature remote'lara ayırma serisi.
Module Federation: Shell ve Remote Sözleşmesi
Shell, remotes yükler; remote, sayfa veya Login gibi dilimler expose eder. Webpack Module Federation names a host and remotes that expose modules via remoteEntry.js.
host + remotes + remoteEntry.js
Shell, remotes yükler; remote, sayfa veya Login gibi dilimler expose eder.
Kavramlar ilk geçtiği yerde
📦 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ı.
Bu kavramları ayırt edemeyen ekip, UI ile entegrasyon sınırını karıştırır.
Problemin şekli
Webpack Module Federation names a host and remotes that expose modules via remoteEntry.js.
host + remotes + remoteEntry.js
Çalışan ayrım
Shell, remotes yükler; remote, sayfa veya Login gibi dilimler expose eder.
host + remotes + remoteEntry.js
↓
explicit contract
Üretimde kırılan yer
Sözleşme veya yarıçap/kimlik/deploy varsayımları gizlendiğinde incident büyür. Görünür sözleşme, görünür geri alma.
Bu bölümde en çok karışan eşleştirmeler
❌ 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
Kendi sisteminizi denetleme listesi
- Bu yüzeyin sahiplik sınırını bir cümleyle yazın.
- Hangi kontrat değişirse kim deploy eder?
- Timeout veya vendor gecikmesinde UI ne gösterir?
- Standalone ve gömülü senaryoları ayrı test ediyor musunuz?
- Deny-list: içerikte firma/vendor domain sızıntısı var mı?
Bu bölümden aklında kalması gerekenler
- Sözleşme görünür olmalıdır: expose path, yarıçap, ticket durumu veya remote URL.
- UI ile dış sistem arasındaki boşluk tasarım kararıdır, bug değil.
- Bağımsız deploy, bağımsız geri alma demektir.
Gizlediğiniz sınır, üretimde sizi bulur.
SSS
Sık sorulan sorular
Shell (Host) nedir?
Remotes'u yükleyen, ortak layout ve üst seviye routing taşıyan uygulama.
Remote nedir?
remoteEntry.js üzerinden modül expose eden bağımsız build.
"Her şey tek uygulamada daha güvenli" doğru mu?
Sınırlar net değilse tek uygulama daha kırılgandır
Bu bölüm neyi sabitler?
Shell, remotes yükler; remote, sayfa veya Login gibi dilimler expose eder. Shell, remotes yükler; remote, sayfa veya Login gibi dilimler expose eder. Webpack Module Federation names a host and remotes that expose modules via remoteEntry.js.
Ogrenilen Muhendislik Prensipleri
- Sahiplik ve yayın sınırı, domain model kadar gerçektir.
- Dış sistem kanıt üretir; operasyonel durum sizde karara bağlanır.
- Kontratı semver gibi yönetin; iç detayı serbest bırakın.
Okumaya devam et
Okumaya devam et
Seride sonraki yazi
Auth Neden Ayrı Bir Remote Olmalı?
Auth Neden Ayrı Bir Remote Olmalı? — lojistik operasyonlarında üretim dersi.
Seride sonraki yazi
Lojistik Operasyonları Neden Mikro Frontend İster?
Tek bir ops paneli büyüdükçe deploy ve sahiplik kırılır. Shell + remote ayrımı ne zaman zorunlu hale gelir?
Ayni seriden
Remote'lar Arasında Singleton React
Remote'lar Arasında Singleton React — lojistik operasyonlarında üretim dersi.