Pemberian Versi, Penerapan, dan Orkestrasi
Terapkan remote secara mandiri dengan pembuatan versi semantik, kelola konflik pustaka bersama, dan koordinasikan rilis.
Pemberian Versi, Penerapan, dan Orkestrasi adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.
Penerapan Independen: Nilai Inti
Nilai utama Module Federation adalah penerapan independen: sebuah tim dapat memperbarui, menguji, dan menerapkan aplikasi penyedianya tanpa berkoordinasi dengan tim aplikasi pemuat atau memicu penerapan ulang aplikasi pemuat. Aplikasi pemuat mengambil perubahan secara otomatis saat berikutnya memuat remoteEntry.js dari URL aplikasi penyedia.
Membuat Versi URL Aplikasi Penyedia
Alih-alih menyajikan remoteEntry.js pada URL tetap yang berubah setiap kali penerapan dilakukan, sertakan hash konten dalam URL: remoteEntry.[hash].js. Dengan demikian, setiap penerapan tidak dapat diubah—URL lama terus berfungsi, dan aplikasi pemuat merujuk hash baru setelah diperbarui ke penerapan baru. URL yang tidak dapat diubah memungkinkan penyimpanan dalam CDN secara agresif.
Penanda Fitur pada Tingkat Infrastruktur
Karena aplikasi pemuat menemukan aplikasi penyedia melalui URL, Anda dapat menerapkan pengujian A/B pada tingkat infrastruktur: berikan URL remoteEntry.js yang berbeda kepada pengguna yang berbeda, dengan URL tersebut mengarah ke versi aplikasi penyedia yang berbeda. Hal ini memungkinkan penerapan kanari yang sebenarnya untuk mikro-frontend tanpa logika penanda fitur apa pun dalam kode aplikasi.
Pendekatan Manifest untuk Penemuan Fleksibel
Alih-alih menanamkan URL aplikasi penyedia secara permanen dalam konfigurasi Webpack, aplikasi pemuat mengambil manifest JSON saat dimulai: GET /federation-manifest.json mengembalikan { buttonApp: 'https://cdn.example.com/button/remoteEntry.abc123.js' }. Untuk memperbarui versi yang digunakan aplikasi pemuat, perbarui manifest tersebut—tidak perlu membangun ulang aplikasi pemuat.
Pemulihan melalui Pembaruan Manifest
Saat penerapan aplikasi penyedia menimbulkan regresi, pemulihan dapat dilakukan seketika: perbarui federation-manifest.json agar mengarah ke URL remoteEntry.js sebelumnya. Aplikasi pemuat segera mulai menggunakan versi lama pada siklus permintaan berikutnya. Tidak perlu membangun ulang aplikasi pemuat, memulihkan aplikasi pemuat, atau berkoordinasi.
Webpack Module Federation 2.0
Module Federation 2.0 (paket @module-federation/enhanced) menghadirkan peningkatan signifikan: dukungan TypeScript yang lebih baik dengan pembuatan tipe otomatis dari manifes modul jarak jauh, API pengaya saat waktu berjalan untuk logika pemuatan khusus, serta pengelolaan cakupan bersama yang lebih baik untuk skenario negosiasi versi yang kompleks.
vite-plugin-federation untuk Vite
Paket vite-plugin-federation menghadirkan Module Federation ke proyek berbasis Vite dengan menggunakan API konfigurasi yang serupa dengan ModuleFederationPlugin milik Webpack. Paket ini kompatibel dengan modul jarak jauh Vite dan aplikasi induk Webpack, begitu pula sebaliknya, sehingga tim dapat berpindah ke Vite secara bertahap tanpa meninggalkan Module Federation.
Modul Jarak Jauh Dinamis saat Waktu Berjalan
Untuk arsitektur yang sangat dinamis, Anda dapat mengonfigurasi URL modul jarak jauh sepenuhnya saat waktu berjalan: import(remoteRegistry[featureName]) ketika remoteRegistry diisi melalui panggilan ke antarmuka pemrograman aplikasi. Dengan demikian, Anda dapat membangun arsitektur seperti pengaya, tempat mikro-frontend baru dapat ditambahkan tanpa membangun ulang aplikasi inti.
Aplikasi Inti sebagai Pengatur
Tugas utama aplikasi inti adalah mengatur orkestrasi: membaca manifes modul jarak jauh, menginisialisasi lingkungan waktu berjalan Module Federation, mendaftarkan modul jarak jauh pada rute bernama, lalu menampilkan modul jarak jauh yang sesuai berdasarkan URL saat ini. Aplikasi inti sengaja dibuat sederhana—aplikasi ini mengetahui apa yang harus dimuat, bukan cara menampilkannya.
Memantau Module Federation di Produksi
Tambahkan pemantauan kinerja pada pemuatan modul jarak jauh: bungkus impor modul jarak jauh dalam try/catch agar kegagalan pemuatan dapat ditangani dengan baik (tampilkan antarmuka cadangan jika modul jarak jauh tidak tersedia), ukur waktu yang diperlukan untuk mengunduh remoteEntry.js dan potongan komponen, lalu berikan peringatan jika waktu pemuatan modul jarak jauh melampaui ambang batas (yang menunjukkan adanya masalah CDN).
Alur CI/CD Lengkap
Alur CI/CD Module Federation yang matang terlihat seperti ini: tim modul jarak jauh mengirimkan perubahan → CI membangun modul jarak jauh → mengunggah remoteEntry.[hash].js yang tidak berubah ke CDN → memperbarui federation-manifest.json → aplikasi induk mengambil modul jarak jauh baru pada permintaan pengguna berikutnya. Setiap langkah diotomatisasi, dan tim aplikasi induk tidak pernah terlibat dalam penerapan modul jarak jauh.
Strategi Pengembalian Module Federation
Apa cara tercepat untuk mengembalikan penerapan modul jarak jauh Module Federation yang bermasalah?
Rekap Pelajaran
Module Federation memungkinkan penerapan yang benar-benar independen: modul jarak jauh dapat diterapkan tanpa membangun ulang aplikasi induk, dan aplikasi induk menemukan versi baru secara otomatis. Gunakan URL modul jarak jauh dengan hash konten untuk caching CDN yang tidak berubah serta manifes dinamis untuk perutean versi yang fleksibel dan pengembalian secara langsung. vite-plugin-federation menghadirkan kemampuan ini ke Vite, sedangkan impor modul jarak jauh yang dinamis memungkinkan arsitektur seperti pengaya. Aplikasi inti mengatur pemuatan modul jarak jauh dan sengaja dibuat sederhana.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pemberian Versi, Penerapan, dan Orkestrasi” gratis?
Ya — teks lengkap “Pemberian Versi, Penerapan, dan Orkestrasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pemberian Versi, Penerapan, dan Orkestrasi”?
Terapkan remote secara mandiri dengan pembuatan versi semantik, kelola konflik pustaka bersama, dan koordinasikan rilis. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai React Academy?
Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Pemberian Versi, Penerapan, dan Orkestrasi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?
Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Federasi Modul: Impor Runtime Dinamis
- Mengonfigurasi Aplikasi React Host dan Jarak Jauh
- Berbagi Status dan Perutean Antar-Remote
- Pemberian Versi, Penerapan, dan Orkestrasi