View a markdown version of this page

Integrasi API - Backend untuk frontend - AWS Bimbingan Preskriptif

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

Integrasi API - Backend untuk frontend

Pola Backends for Frontend (BFF) biasanya digunakan di lingkungan microservices. Dalam konteks micro-frontend, BFF adalah layanan sisi server yang termasuk dalam micro-frontend. Tidak semua frontend mikro perlu memiliki BFF. Namun, jika Anda menggunakan BFF, itu harus berjalan di dalam konteks terbatas yang sama dan tidak dibagikan di seluruh konteks terbatas lainnya.

Tidak seperti layanan tradisional, BFF tidak mengikuti model domain. Sebagai gantinya, ini adalah lapisan API untuk micro-frontend untuk memproses data sebelum mencapai klien. Area di mana ini berguna termasuk yang berikut:

  • Otorisasi terhadap pribadi APIs

  • Agregasi data dari berbagai sumber

  • Transformasi data untuk mengurangi beban jaringan dan untuk memudahkan konsumsi data oleh klien

Dengan demikian, BFF dimiliki oleh micro-frontend, bukan oleh tingkat layanan domain. BFFs dapat digunakan dengan menggunakan yang berikut ini:

  • AWS AppSync GraphQL APIs

  • Satu set fungsi AWS Lambda

  • Sebagai wadah yang berjalan di Amazon ECS, Amazon EKS, atau AWS AppRunner

Diagram berikut menunjukkan bahwa tanpa pola BFF, frontend mikro harus terhubung ke titik akhir API layanan mikro individu untuk mengambil dan mengumpulkan data.

Aplikasi dasbor yang pertama-tama mengambil transaksi dan kemudian mengambil harga dari layanan mikro yang dipisahkan.

Sebaliknya, dengan pola BFF dalam diagram berikut, mikro-frontend dapat berkomunikasi dengan backend mereka sendiri dan mengambil data agregat.

Tampilan transaksi mengambil data agregat, termasuk informasi harga, dari BFF.

Tim dapat mengembangkan BFFs untuk saluran yang berbeda seperti seluler, web, atau tampilan tertentu, dengan persyaratan untuk mengoptimalkan interaksi backend dengan mengurangi obrolan.