Penemuan Layanan - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penemuan Layanan

Pola penemuan frontend meningkatkan pengalaman pengembangan saat mengembangkan, menguji, dan memberikan frontend mikro. Pola menggunakan konfigurasi yang dapat dibagikan yang menggambarkan titik masuk mikro-frontend. Konfigurasi yang dapat dibagikan juga mencakup metadata tambahan yang digunakan untuk penerapan yang aman di setiap lingkungan dengan menggunakan rilis kenari.

Pengembangan frontend modern memerlukan penggunaan berbagai alat dan perpustakaan untuk mendukung modularitas selama pengembangan. Secara tradisional, proses ini terdiri dari bundling kode ke dalam file individual yang dapat di-host di CDN dengan tujuan menjaga panggilan jaringan minimal selama runtime, termasuk pemuatan awal (ketika aplikasi terbuka di browser) dan penggunaan (ketika pelanggan melakukan tindakan seperti memilih tombol atau memasukkan informasi).

Memisahkan bundel

Arsitektur micro-frontend memecahkan masalah kinerja yang disebabkan oleh bundel yang sangat besar yang dihasilkan dengan menggabungkan satu set fungsi yang besar secara individual. Misalnya, situs web e-commerce yang sangat besar dapat dibundel menjadi JavaScript file 6 MB. Meskipun kompresi, ukuran file itu mungkin berdampak negatif pada pengalaman pengguna saat memuat aplikasi dan mengunduh file dari CDN yang dioptimalkan tepi.

Jika Anda membagi aplikasi menjadi halaman beranda, detail produk, dan keranjang micro-frontend, Anda dapat menggunakan mekanisme bundling untuk menghasilkan tiga bundel 2 MB individual. Perubahan ini dapat meningkatkan kinerja untuk pemuatan pertama sebesar 300 persen saat pengguna menggunakan halaman beranda. Paket micro-frontend produk atau keranjang dimuat secara asinkron hanya jika dan ketika pengguna mengunjungi halaman produk untuk item dan memutuskan untuk membelinya.

Banyak kerangka kerja dan pustaka tersedia berdasarkan pendekatan ini, dan ada keuntungan bagi pelanggan dan pengembang. Untuk mengidentifikasi batas-batas bisnis yang dapat mengakibatkan decoupling dependensi dalam kode, Anda dapat memetakan fungsi bisnis yang berbeda ke beberapa tim. Kepemilikan yang didistribusikan memperkenalkan kemandirian dan kelincahan.

Saat Anda membagi paket build, Anda dapat menggunakan konfigurasi untuk memetakan mikro-frontend dan mendorong orkestrasi untuk pemuatan awal dan navigasi pasca-muat. Kemudian, konfigurasi dapat digunakan selama runtime daripada selama waktu pembuatan. Misalnya, kode frontend sisi klien atau kode backend sisi server dapat melakukan panggilan jaringan awal ke API untuk mengambil daftar frontend mikro secara dinamis. Ini juga mengambil metadata yang diperlukan untuk komposisi dan integrasi. Anda dapat mengonfigurasi strategi failover dan caching untuk keandalan dan kinerja. Pemetaan frontend mikro membantu membuat penerapan individual dari frontend mikro dapat ditemukan oleh frontend mikro yang diterapkan sebelumnya yang diatur oleh aplikasi shell.

Rilis kenari

Rilis kenari adalah pola yang mapan dan populer untuk menyebarkan layanan mikro. Rilis Canary memasukkan pengguna target rilis ke dalam beberapa grup, dan merilis perubahan secara bertahap sebagai lawan dari penggantian langsung (juga dikenal sebagai penerapan biru/hijau). Contoh strategi rilis kenari adalah meluncurkan perubahan baru ke 10 persen dari target pengguna, dan menambahkan 10 persen setiap menit, dengan total durasi 10 menit untuk mencapai 100 persen.

Tujuan dari rilis kenari adalah untuk mendapatkan umpan balik awal tentang perubahan, memantau sistem untuk mengurangi dampak dari masalah apa pun. Ketika otomatisasi dilakukan, metrik bisnis atau sistem dapat dipantau oleh sistem internal yang dapat menghentikan penyebaran atau memulai rollback.

Misalnya, perubahan mungkin menimbulkan bug yang, dalam beberapa menit pertama rilis, mengakibatkan hilangnya pendapatan atau penurunan kinerja. Pemantauan otomatis dapat memulai alarm. Dengan pola penemuan layanan, alarm itu dapat menghentikan penyebaran dan segera memutar kembali, hanya memengaruhi 20 persen pengguna, bukan 100 persen. Bisnis mendapat manfaat dari berkurangnya ruang lingkup masalah.

Untuk contoh arsitektur yang menggunakan DynamoDB sebagai penyimpanan untuk mengimplementasikan REST Admin API, lihat solusi Frontend Service Discovery on AWS. GitHub Gunakan AWS CloudFormation template untuk mengintegrasikan arsitektur dalam pipeline CI/CD Anda sendiri. Solusinya mencakup REST Consumer API untuk mengintegrasikan solusi dengan aplikasi frontend Anda.