Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pola gerbang API
Pola gateway API direkomendasikan jika Anda ingin merancang dan membangun aplikasi berbasis layanan mikro yang kompleks atau besar dengan beberapa aplikasi klien. Pola ini mirip dengan pola fasad
Pola ini menyediakan proxy terbalik untuk mengalihkan atau merutekan permintaan ke titik akhir layanan mikro internal Anda. Gateway API menyediakan satu titik akhir atau URL untuk aplikasi klien, dan secara internal memetakan permintaan ke layanan mikro internal. Lapisan abstraksi disediakan dengan menyembunyikan detail implementasi tertentu (misalnya, nama dan versi fungsi Lambda), dan fungsionalitas tambahan juga dapat ditambahkan di atas layanan backend, seperti transformasi respons dan permintaan, otorisasi akses titik akhir, atau penelusuran.
Anda harus mempertimbangkan untuk menggunakan pola gateway API jika:
-
Jumlah dependensi untuk layanan mikro dapat dikelola dan tidak bertambah seiring waktu.
-
Sistem panggilan membutuhkan respons sinkron dari layanan mikro.
-
Anda memiliki persyaratan latensi rendah.
-
Anda perlu mengekspos satu API untuk mengumpulkan data dari beberapa layanan mikro.
Kasus penggunaan
Dalam kasus penggunaan ini, pelanggan melakukan pembayaran bulanan reguler dalam sistem asuransi yang terdiri dari empat layanan mikro yang digunakan sebagai fungsi Lambda (“Pelanggan,” “Komunikasi,” “Pembayaran,” dan “Penjualan”). Layanan mikro “Pelanggan” memperbarui basis data pelanggan dengan detail pembayaran bulanan. Layanan mikro “Penjualan” memperbarui basis data penjualan dengan informasi yang relevan yang membantu tim penjualan menindaklanjuti dengan pelanggan untuk peluang penjualan silang. Layanan mikro “Komunikasi” mengirimkan email konfirmasi ke pelanggan setelah pembayaran berhasil diproses. Akhirnya, layanan mikro “Pembayaran” adalah sistem keseluruhan yang digunakan pelanggan untuk melakukan pembayaran bulanan mereka. Pola ini menggunakan layanan web untuk mengintegrasikan subsistem “Pelanggan,” “Penjualan,” dan “Komunikasi” dengan layanan mikro “Pembayaran”.
Ada tiga tantangan untuk menggunakan pola ini untuk kasus penggunaan ini:
Panggilan sinkron dilakukan ke sistem hilir, yang berarti bahwa latensi apa pun yang disebabkan oleh subsistem ini memengaruhi waktu respons keseluruhan.
Biaya operasional lebih tinggi karena sistem “Pembayaran” sedang menunggu tanggapan dari layanan mikro lainnya sebelum menanggapi sistem panggilan. Oleh karena itu, total waktu berjalan relatif lebih tinggi dibandingkan dengan sistem asinkron.
Penanganan kesalahan dan percobaan ulang ditangani secara terpisah untuk setiap layanan mikro di dalam sistem “Pembayaran”, bukan oleh layanan mikro individu.
Dua contoh berikut menguraikan cara menggunakan pola gateway API untuk mengintegrasikan layanan mikro dengan menggunakan beberapa gateway API atau satu gateway API.
Beberapa gateway API
Dalam ilustrasi berikut, setiap microservice memiliki gateway API sendiri. Layanan mikro “Pembayaran” memanggil sistem individual dan mengimplementasikan pola gateway API.

Gerbang API tunggal
Dalam ilustrasi berikut, setiap layanan mikro digunakan sebagai fungsi Lambda tetapi semua layanan mikro terhubung oleh gateway API yang sama.
