Keuntungan utama dari arsitektur serverless dikatakan bahwa program-program seperti itu tidak memerlukan server khusus untuk berjalan terus menerus. Kemudian dipanggil berdasarkan permintaan dan berhenti keluar dari fungsi.
Ini berarti bahwa program tanpa server harus cepat untuk memulai, agar responsif. Bagaimana cara menangani tindakan yang menghabiskan waktu seperti koneksi database? Apakah itu terhubung ke database setiap kali atau apakah ia mengelola koneksi database secara terpisah untuk fungsi pemanggilan seperti yang dilakukan dalam aplikasi server?
sumber
Tergantung.
Implementasi di belakang layar pelari lambda akan mempengaruhi ini. Kita dapat melihat bahwa di AWS, wadah mungkin digunakan kembali.
http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html
Jadi kita bisa melihat koneksi pooling / reuse untuk beberapa permintaan setidaknya. Kita juga harus mempertimbangkan database itu sendiri dan bagaimana ia memperlakukan permintaan koneksi masuk.
Pertanyaan semacam ini bagi saya menggarisbawahi beberapa masalah dengan 'serverless' masih sangat baru dan belum matang, sehingga detailnya belum dituntaskan.
Kita harus selalu ingat bahwa tanpa server tidak berarti tidak ada server. Jika tingkat di mana Anda memanggil lambda cukup tinggi, Anda mungkin secara efektif memiliki beberapa server, atau 'wadah' berjalan.
Dalam praktiknya, waktu mulai dan sumber daya seperti alamat IP dari lambdas dapat menjadi masalah nyata. Mungkin ketika mereka matang konsensus tentang bagaimana menjalankannya akan muncul dan masalah ini akan mendapatkan jawaban yang solid.
sumber