Jika Anda menggunakan Alibaba Cloud Function Compute (FC) dan perlu menggunakannya sebagai layanan backend untuk Application Load Balancer (ALB) guna memproses permintaan, Anda dapat menambahkan grup server Function Compute ke instans ALB Anda. Konfigurasi ini memungkinkan ALB meneruskan permintaan ke Function Compute dan memicu pemanggilan fungsi Anda. Setelah fungsi dieksekusi, Function Compute mengembalikan hasilnya kepada pemohon.
Ikhtisar
Function Compute Alibaba Cloud adalah layanan komputasi yang sepenuhnya dikelola dan berbasis event. Dengan Function Compute, Anda tidak perlu mengelola infrastruktur seperti server. Cukup tulis dan unggah kode Anda—Function Compute akan menyediakan sumber daya komputasi yang diperlukan, menjalankan kode secara elastis dan andal, serta menyediakan fitur seperti log kueri, pemantauan kinerja, dan peringatan. Dengan demikian, Anda dapat dengan cepat membangun berbagai jenis aplikasi dan layanan, serta hanya membayar sumber daya yang digunakan.
Saat ALB menerima permintaan, permintaan tersebut diteruskan ke Function Compute untuk memicu pemanggilan fungsi. Setelah dieksekusi, Function Compute mengembalikan hasilnya kepada pemohon.
ALB mendukung penambahan Function Compute 3.0 dan 2.0 sebagai layanan backend.
Sebelum menggunakan Function Compute, Anda harus mengaktifkan layanan tersebut. Jika Anda mendaftarkan Akun Alibaba Cloud dan menyelesaikan verifikasi nama asli setelah 27 Agustus 2024, Anda dapat langsung menggunakan Function Compute tanpa perlu aktivasi.
Application Load Balancer (ALB) dan Function Compute (FC) berkomunikasi secara aman melalui jaringan internal Alibaba Cloud.
Fitur utama
Dukungan arsitektur tanpa server: Gunakan Function Compute sebagai layanan backend untuk ALB guna dengan mudah membangun aplikasi tanpa server dan mengurangi biaya operasional.
Auto scaling: Function Compute secara otomatis menyesuaikan sumber daya komputasi naik atau turun berdasarkan traffic, memastikan kapasitas komputasi yang cukup selama jam puncak dan menghemat sumber daya selama periode sepi.
Ketersediaan tinggi dan toleransi kesalahan: ALB dan Function Compute bekerja sama untuk menyediakan ketersediaan tinggi dan pemulihan bencana, memastikan aplikasi Anda berjalan stabil.
Kasus penggunaan
Layanan mikro: Gunakan kemampuan routing lanjutan dari ALB untuk mendistribusikan permintaan ke berbagai fungsi layanan mikro. Function Compute melakukan penskalaan secara dinamis untuk menangani permintaan konkurensi tinggi, meningkatkan elastisitas dan keandalan sistem.
Pemrosesan data real-time: ALB mendistribusikan permintaan pemrosesan data ke fungsi yang sesuai. Function Compute kemudian memproses data secara real-time hanya dengan beberapa baris kode dan konfigurasi sederhana.
Arsitektur berbasis event: ALB menerima permintaan yang dipicu oleh event dan meneruskannya ke fungsi yang sesuai. Function Compute memproses event tersebut dan menyimpan hasilnya di database atau mengirimkannya ke layanan lain, memungkinkan pemrosesan dinamis berbasis event.
Pemrosesan gambar dan video: ALB menerima permintaan unggah gambar atau video dan mendistribusikannya ke fungsi pemrosesan yang sesuai. Function Compute menyediakan sumber daya komputasi elastis yang secara otomatis diskalakan berdasarkan tugas, memastikan penyelesaian tugas secara efisien.
Batasan
Wilayah yang mendukung penambahan Function Compute sebagai server backend.
Instans ALB dan fungsi harus berada di wilayah yang sama.
Grup server bertipe Function Compute hanya dapat memiliki satu fungsi.
Untuk Function Compute 2.0, jika Handler Type diatur sebagai Event Handler, Anda harus mengonfigurasi Pemicu HTTP untuk mengaitkan fungsi dengan instans ALB.
Skenario contoh
Sebuah perusahaan e-commerce men-deploy instans ALB di wilayah Alibaba Cloud untuk menangani volume besar permintaan pengguna di platformnya. Seiring pertumbuhan bisnis dan basis pengguna, perusahaan memerlukan cara yang fleksibel dan efisien untuk menangani tugas-tugas seperti pembuatan konten dinamis, analisis perilaku pengguna, dan rekomendasi personalisasi.
Untuk memenuhi kebutuhan ini, perusahaan menggabungkan layanan Function Compute Alibaba Cloud dengan ALB guna menangani tugas-tugas tersebut secara efisien dan secara signifikan meningkatkan pengalaman pengguna.
Prasyarat
Anda telah membuat instans ALB yang menghadap internet.
Anda telah mendaftarkan nama domain kustom dan menyelesaikan Pendaftaran ICP-nya.
Prosedur
Langkah 1: Buat fungsi
Langkah-langkah dalam topik ini dilakukan di Konsol Function Compute 3.0. Jika Anda perlu menggunakan Function Compute 2.0, klik Back to Function Compute 2.0 di pojok kanan atas untuk kembali ke Konsol Function Compute 2.0 dan buat fungsi.
Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih Function. Pada halaman Function, pilih wilayah target, lalu klik Create Function.
Pada halaman Create Function, pilih tipe fungsi, konfigurasikan kode fungsi, lalu klik Create.
Topik ini memberikan contoh Event Function di mana Code menggunakan Use Sample Code bawaan. Anda dapat mempertahankan nilai bawaan untuk parameter fungsi event lainnya atau mengubahnya sesuai kebutuhan.


Pada halaman detail fungsi, di tab Code, klik Test Function.
Setelah fungsi berhasil dijalankan, Anda dapat melihat hasilnya di area Response. Dalam contoh ini, hasilnya adalah
hello world.
Langkah 2: Buat grup server Function Compute
Masuk ke Konsol Application Load Balancer. Di panel navigasi kiri, pilih Server Groups. Pilih wilayah target dari bilah navigasi atas, lalu klik Create Server Group.
Pada kotak dialog Create Server Group, pilih Function Compute untuk Server Group Type, lalu klik Create.
PentingJika Anda mengaktifkan pemeriksaan kesehatan untuk instans ALB, Function Compute menghitung probe tersebut sebagai permintaan, yang akan dikenai biaya. Untuk informasi lebih lanjut, lihat Penagihan.

Pada kotak dialog The server group is created, klik Add Backend Server.
Pada panel Add Backend Server, pilih fungsi yang telah Anda buat, lalu klik OK.
Dalam contoh ini, Configuration Method diatur ke Service, fungsi yang Anda buat dipilih untuk Function Name, dan Specified Version diatur ke LATEST. Jika Anda perlu mengonfigurasi fungsi menggunakan ARN-nya, pilih ARN untuk Configuration method. Anda harus terlebih dahulu mendapatkan ARN fungsi.

Langkah 3: Konfigurasikan listener
Di panel navigasi kiri, pilih , lalu klik ID instans target.
Klik tab Listener, lalu klik Create Listener.
Pada halaman Configure Listener, konfigurasikan protokol dan port listener, lalu klik Next.
Contoh ini menggunakan protokol HTTP dan port 80. Anda dapat mempertahankan nilai bawaan untuk parameter lain atau mengubahnya sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Add an HTTP listener.

Pada wizard konfigurasi Server Group, dari daftar drop-down Server Group, pilih Function Compute, pilih grup server target, lalu klik Next.

Pada halaman Configuration Review, konfirmasi pengaturan dan klik Submit.
Langkah 4: Konfigurasikan resolusi nama domain
Untuk lingkungan produksi, kami merekomendasikan penggunaan nama domain kustom dan membuat Rekaman CNAME untuk mengarahkannya ke nama domain instans ALB.
Di bilah navigasi kiri, pilih , dan pada halaman Instances, salin nama DNS instans ALB yang telah dibuat.
Ikuti langkah-langkah berikut untuk menambahkan Rekaman CNAME:
Masuk ke Konsol DNS Alibaba Cloud. Temukan nama domain kustom Anda dan klik Settings di kolom Actions.
CatatanJika nama domain Anda tidak didaftarkan melalui Alibaba Cloud, Anda harus terlebih dahulu menambahkannya ke DNS Alibaba Cloud sebelum dapat mengonfigurasi pengaturan DNS-nya.
Pada halaman pengaturan DNS, klik Add Record. Konfigurasikan Rekaman CNAME, lalu klik OK.
Untuk contoh ini, atur Record Type ke CNAME dan Record Value ke nama DNS instans ALB Anda. Anda dapat mempertahankan nilai bawaan untuk parameter lain atau mengubahnya sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Add a DNS record.

Langkah 5: Uji konektivitas
Setelah menyelesaikan langkah-langkah di atas, koneksi antara ALB dan Function Compute telah terbentuk. Anda dapat membuka jendela command line dan menjalankan perintah curl <custom domain name> untuk menguji konektivitas antara ALB dan Function Compute.
Jika Anda menerima pesan respons seperti yang ditunjukkan pada gambar berikut, hal ini menunjukkan bahwa ALB dapat meneruskan permintaan ke Function Compute dan memicu fungsi tersebut.

FAQ
Mengapa QPS rendah saat menggunakan backend Function Compute?
Sebuah instans ALB tunggal dapat menangani hingga 1 juta QPS. Namun, ketika Anda menggunakan Function Compute sebagai layanan backend, QPS keseluruhan mungkin tidak sesuai ekspektasi karena alasan berikut:
QPS instans Function Compute tunggal: Satu instans hanya dapat memproses sejumlah permintaan tertentu dalam satu waktu. Jika volume permintaan melebihi QPS maksimum instans saat ini, permintaan mungkin masuk antrian atau dikendalikan alirannya (throttled).
Batas instans Function Compute: Batas instans menentukan jumlah maksimum instans yang dapat berjalan secara konkuren. Jika jumlah instans yang tersedia tidak mencukupi, hal ini membatasi QPS keseluruhan, meskipun QPS instans tunggal tinggi.
Untuk mempelajari cara memperkirakan jumlah maksimum instans yang Anda butuhkan, lihat Hubungan antara batas instans dan QPS layanan.
Berdasarkan kebutuhan bisnis Anda dan hasil dari Anda dapat menyesuaikan parameter seperti konkurensi instans dan tipe dan spesifikasi instans. Jika diperlukan, Anda juga dapat mengajukan peningkatan kuota instans untuk mencapai kinerja QPS optimal.
Referensi
Operasi konsol
Referensi API
CreateServerGroup: Buat grup server Function Compute dengan mengatur parameter
ServerGroupTypekeFc.AddServersToServerGroup: Tambahkan server backend Function Compute dengan mengatur parameter
ServerTypekeFc.RemoveServersFromServerGroup: Hapus server backend dari grup server dengan mengatur parameter
ServerTypekeFcdan parameterServerIdke ARN fungsi.DeleteServerGroup: Hapus grup server tertentu.