Komponen sistem terdistribusi - Menerapkan Layanan Mikro pada AWS

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

Komponen sistem terdistribusi

Dalam arsitektur layanan mikro, penemuan layanan mengacu pada proses secara dinamis menemukan dan mengidentifikasi lokasi jaringan (alamat IP dan port) dari layanan mikro individu dalam sistem terdistribusi.

Saat memilih pendekatan AWS, pertimbangkan faktor-faktor seperti:

  • Modifikasi kode: Bisakah Anda mendapatkan manfaat tanpa memodifikasi kode?

  • Lalu lintas lintas VPC atau lintas akun: Jika diperlukan, apakah sistem Anda memerlukan manajemen komunikasi yang efisien di berbagai atau? VPCs Akun AWS

  • Strategi penyebaran: Apakah sistem Anda menggunakan atau berencana untuk menggunakan strategi penyebaran lanjutan seperti penerapan biru-hijau atau canary?

  • Pertimbangan kinerja: Jika arsitektur Anda sering berkomunikasi dengan layanan eksternal, apa yang akan berdampak pada kinerja secara keseluruhan?

AWS menawarkan beberapa metode untuk menerapkan penemuan layanan dalam arsitektur layanan mikro Anda:

  • Amazon ECS Service Discovery: Amazon ECS mendukung penemuan layanan menggunakan metode berbasis DNS-nya atau dengan mengintegrasikan dengan AWS Cloud Map (lihat Penemuan Layanan ECS). ECS Service Connect semakin meningkatkan manajemen koneksi, yang dapat sangat bermanfaat untuk aplikasi yang lebih besar dengan beberapa layanan yang berinteraksi.

  • Amazon Route 53: Route 53 terintegrasi dengan ECS dan AWS layanan lainnya, seperti EKS, untuk memfasilitasi penemuan layanan. Dalam konteks ECS, Route 53 dapat menggunakan fitur ECS Service Discovery, yang memanfaatkan Auto Naming API untuk secara otomatis mendaftar dan membatalkan pendaftaran layanan.

  • AWS Cloud Map: Opsi ini menawarkan penemuan layanan berbasis API dinamis, yang menyebarkan perubahan di seluruh layanan Anda.

Untuk kebutuhan komunikasi yang lebih maju, Amazon VPC Lattice adalah layanan jaringan aplikasi yang secara konsisten menghubungkan, memantau, dan mengamankan komunikasi antar layanan Anda, membantu meningkatkan produktivitas sehingga pengembang Anda dapat fokus membangun fitur yang penting bagi bisnis Anda. Anda dapat menentukan kebijakan untuk manajemen lalu lintas jaringan, akses, dan pemantauan untuk menghubungkan layanan komputasi dengan cara yang disederhanakan dan konsisten di seluruh instance, container, dan aplikasi tanpa server.

Jika Anda sudah menggunakan perangkat lunak pihak ketiga, seperti HashiCorp Konsul, atau Netflix Eureka untuk penemuan layanan, Anda mungkin lebih suka terus menggunakan ini saat Anda bermigrasi AWS, memungkinkan transisi yang lebih lancar.

Pilihan antara opsi-opsi ini harus selaras dengan kebutuhan spesifik Anda. Untuk persyaratan yang lebih sederhana, solusi berbasis DNS seperti Amazon ECS atau AWS Cloud Map mungkin cukup. Untuk sistem yang lebih kompleks atau lebih besar, jerat layanan seperti Amazon VPC Lattice mungkin lebih cocok.

Kesimpulannya, merancang arsitektur layanan mikro AWS adalah tentang memilih alat yang tepat untuk memenuhi kebutuhan spesifik Anda. Dengan mengingat pertimbangan yang dibahas, Anda dapat memastikan bahwa Anda membuat keputusan berdasarkan informasi untuk mengoptimalkan penemuan layanan sistem dan komunikasi antar-layanan Anda.