Oyun Kitabı
Versiyon Sapması ve Sözleşme Disiplini (Versiyon Sapmasi Ve Sozlesme Disiplini)
Versiyon Sapması ve Sözleşme Disiplini — lojistik operasyonlarında üretim dersi.
Lojistik Mikro Frontend Platformu (Module Federation)
Bolum 9 / 10
Lojistik operasyon panellerini Module Federation ile shell, auth ve feature remote'lara ayırma serisi.
Versiyon Sapması ve Sözleşme Disiplini
remoteEntry bir API'dir; semver düşünün. Keep expose paths and props stable; treat remote public modules as an API.
expose path stable; internals can move
remoteEntry bir API'dir; semver düşünün.
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
Keep expose paths and props stable; treat remote public modules as an API.
expose path stable; internals can move
Çalışan ayrım
remoteEntry bir API'dir; semver düşünün.
expose path stable; internals can move
↓
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?
remoteEntry bir API'dir; semver düşünün. remoteEntry bir API'dir; semver düşünün. Keep expose paths and props stable; treat remote public modules as an API.
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
MFE (Module Federation) Yanında Monoliti Ne Zaman Tutmalı?
MFE Yanında Monoliti Ne Zaman Tutmalı? — lojistik operasyonlarında üretim dersi.
Seride sonraki yazi
Remote'ları Bağımsız Static Host'lara Yayınlamak
Remote'ları Bağımsız Static Host'lara Yayınlamak — lojistik operasyonlarında üretim dersi.
Ayni seriden
Host Shell'de Rota (Routing) Bileşimi
Host Shell'de Rota (Routing) Bileşimi — lojistik operasyonlarında üretim dersi.