Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pola ara pencekik
Pola desain yang dibahas sejauh ini dalam panduan ini berlaku untuk aplikasi penguraian untuk proyek greenfield. Bagaimana dengan proyek brownfield yang melibatkan aplikasi monolitik besar? Menerapkan pola desain sebelumnya kepada mereka akan sulit, karena memecahnya menjadi potongan-potongan kecil saat mereka sedang digunakan secara aktif adalah tugas besar.
Pola ara pencekik adalah pola
Pola ini biasanya digunakan untuk secara bertahap mengubah aplikasi monolitik menjadi microservices dengan mengganti fungsionalitas tertentu dengan layanan baru. Tujuannya adalah agar versi warisan dan baru yang dimodernisasi untuk hidup berdampingan. Sistem baru awalnya didukung oleh, dan membungkus, sistem yang ada. Dukungan ini memberikan waktu sistem baru untuk tumbuh dan berpotensi menggantikan sistem lama sepenuhnya.
Proses transisi dari aplikasi monolitik ke layanan mikro dengan menerapkan pola ara pencekik terdiri dari tiga langkah: transformasi, hidup berdampingan, dan menghilangkan:
-
Transform - Identifikasi dan buat komponen modern baik dengan mem-porting atau menulis ulang secara parallel dengan aplikasi lama.
-
Hidup berdampingan - Jauhkan aplikasi monolit untuk rollback. Mencegat panggilan sistem luar dengan memasukkan proxy HTTP (misalnya, Amazon API Gateway) di perimeter monolit Anda dan mengarahkan lalu lintas ke versi modern. Ini membantu Anda menerapkan fungsionalitas secara bertahap.
-
Hilangkan - Pensiun fungsionalitas lama dari monolit saat lalu lintas dialihkan dari monolit warisan ke layanan modern.
AWS Migration Hub Refactor Spacesadalah titik awal untuk refactoring aplikasi inkremental ke layanan mikro aktifAWS. Refactor Spaces menyediakan aplikasi yang memodelkan pola ara strangler untuk refactoring inkremental. Aplikasi Refactor Spaces mengatur kebijakan API Gateway, Network Load Balancer, dan berbasis sumber dayaAWS Identity and Access Management (IAM) sehingga Anda dapat secara transparan menambahkan layanan baru ke titik akhir HTTP eksternal.
Tabel berikut menjelaskan kelebihan dan kekurangan penggunaan pola ara pencekik.
Keuntungan | Kekurangan |
---|---|
|
|
Ilustrasi berikut menunjukkan bagaimana monolit dapat dibagi menjadi layanan mikro dengan menerapkan pola ara pencekik ke arsitektur aplikasi. Kedua sistem berfungsi secara parallel, tetapi Anda akan mulai memindahkan fungsionalitas di luar basis kode monolit dan meningkatkannya dengan kemampuan baru. Kemampuan baru ini memberi Anda kesempatan untuk merancang layanan mikro dengan cara yang paling sesuai dengan kebutuhan Anda. Anda akan terus menghilangkan kemampuan dari monolit sampai semuanya digantikan oleh layanan mikro. Pada saat itu, Anda dapat menghilangkan aplikasi monolit. Poin kunci yang perlu diperhatikan di sini adalah bahwa monolit dan layanan mikro akan hidup bersama untuk jangka waktu tertentu.