mata utama
- Fungsi tanpa pelayan membolehkan pemaju menjalankan kod tanpa menguruskan pelayan.
- Oleh kerana corak pengebilannya (dikenakan berdasarkan masa pengiraan sebenar, biasanya dikira dalam milisaat), fungsi-fungsi ini adalah kos efektif untuk beban kerja sporadis atau ringan.
- Walaupun fungsi tanpa pelayan secara automatik untuk mengendalikan peningkatan lalu lintas, mereka paling sesuai untuk proses kitaran hayat pendek kerana had masa pelaksanaan maksimum yang dikenakan oleh penyedia awan.
- Kes penggunaan biasa untuk fungsi tanpa pelayan termasuk tugas backend mudah seperti pengirim bentuk, pekerjaan cron yang dijadualkan, dan tugas pemprosesan imej, yang membuktikan kepelbagaian mereka dalam mengendalikan pelbagai operasi backend kecil.
- Menggunakan fungsi tanpa pelayan melibatkan membuat kod fungsi, membungkusnya dengan kebergantungan yang diperlukan dan memuat naiknya ke pembekal awan, dengan butiran khusus yang berbeza -beza oleh pembekal dan teknologi khusus yang digunakan.
Apakah fungsi tanpa pelayan?
Kali pertama saya mendengar istilah "tanpa pelayan" pasti akan membangkitkan rasa ingin tahu. "Bagaimana untuk menjalankan kod di web tanpa pelayan?" Apa yang sebenarnya bermakna ialah sebagai pemaju, anda tidak perlu bimbang tentang pelayan di mana kod berjalan. Konfigurasi perkakasan, konfigurasi rangkaian, pemasangan dan pelanjutan perisian semuanya disokong oleh penyedia tanpa pelayan.Dari sudut pandangan pembangunan, fungsi tanpa pelayan adalah pakej kod yang anda muat naik ke pembekal tanpa pelayan seperti AWS atau Google. Kod ini boleh dikonfigurasikan untuk bertindak balas terhadap permintaan melalui URL, dijalankan seperti yang dijadualkan (iaitu melalui pekerjaan Cron), atau hubungi dari perkhidmatan lain atau fungsi tanpa pelayan.
Fungsi tanpa pelayan adalah sesuai untuk menambah fungsi backend ke aplikasi front-end tanpa kerumitan dan kos menjalankan pelayan penuh.
Pada yang lain melampau, anda juga boleh membina keseluruhan aplikasi menggunakan fungsi tanpa pelayan. Digabungkan dengan perkhidmatan awan lain yang menyediakan penyimpanan fail, sistem pangkalan data, dan pengesahan, aplikasi besar, mantap dan berskala boleh dibina tanpa mengkonfigurasi pelayan tunggal.
Kelebihan fungsi tanpa pelayan
Fungsi tanpa pelayan berjalan dalam bekas mini yang dimulakan atas permintaan. Mereka direka untuk berjalan yang agak singkat, jadi pengebilan adalah tertakluk kepada ini. Tidak seperti contoh pelayan penuh yang biasanya dibilkan mengikut jam, fungsi tanpa pelayan biasanya dibilkan dalam detik GB. Oleh kerana masa pengebilan terpendek adalah kira-kira milisaat, frekuensi rendah atau beban kerja sporadis dijalankan sebagai fungsi tanpa pelayan jauh lebih murah daripada contoh pelayan tradisional. Beban kerja ringan dan prototaip mungkin jatuh di bawah tahap percuma beberapa pembekal.
panggilan atas permintaan fungsi tanpa pelayan bermakna mereka boleh diperkuat dengan cepat dan mudah tanpa memerlukan pemaju untuk melakukan kerja tambahan. Ini menjadikan mereka ideal untuk situasi di mana lalu lintas boleh berkembang dengan tidak dapat diramalkan, kerana lebih banyak fungsi fungsi akan disediakan secara automatik untuk mengendalikan beban. Selepas itu, fungsi itu akan diturunkan, bermakna anda tidak perlu membayar kapasiti yang tidak digunakan.
Kelebihan utama model tanpa pelayan ialah ia tidak memerlukan pemprosesan pelayan. Menjalankan aplikasi web memerlukan banyak masa dan kepakaran pengurusan pelayan untuk memastikan perisian terkini dengan patch keselamatan dan memastikan bahawa pelayan dikonfigurasi dengan betul untuk keselamatan dan prestasi tinggi. Untuk permulaan dan perniagaan kecil, menyewa orang untuk mengendalikan pengurusan pelayan adalah overhead tambahan yang besar. Dengan tanpa pelayan, pemaju boleh memberi tumpuan kepada penciptaan penyelesaian.
Kekurangan fungsi tanpa pelayan
Sudah tentu, tiada teknologi yang sempurna, dan fungsi tanpa pelayan mempunyai kekurangan mereka. Seperti yang saya nyatakan sebelum ini, reka bentuk model tanpa pelayan adalah jangka pendek. Kerana masa pelaksanaan maksimum adalah dalam beberapa minit (contohnya, 15 minit pada AWS dan 9 minit di Google), ia tidak sesuai untuk pekerjaan jangka panjang, seperti memproses sejumlah besar data.
Satu lagi isu yang dibincangkan secara meluas adalah masa permulaan yang sejuk. Ini adalah masa yang diperlukan untuk pembekal untuk mengkonfigurasi dan memulakan bekasnya sebelum fungsi tanpa pelayan siap untuk mula berjalan. Selepas fungsi dijalankan, bekas akan disimpan untuk seketika untuk digunakan semula apabila kod itu dilaksanakan semula. Kelewatan "permulaan sejuk" ini boleh menambah kelewatan setengah saat hingga satu saat untuk masa tindak balas fungsi. Terdapat beberapa penyelesaian, termasuk plugin pemanasan untuk rangka kerja tanpa pelayan, yang mengemukakan fungsi anda seperti yang dirancang untuk memastikan bekas aktif.
Walaupun fungsi tanpa pelayan membolehkan anda mengelakkan bimbang tentang konfigurasi dan penyelenggaraan pelayan, ini tidak bermakna tiada lengkung pembelajaran. Aplikasi bangunan yang menggunakan pelayan tidak memerlukan minda yang berbeza daripada menggunakan pangkalan kod monolitik tradisional. Anda perlu membina kod anda dengan cara yang berbeza, memecahkan fungsi ke dalam perkhidmatan yang lebih kecil dan lebih bebas untuk menampung batasan fungsi tanpa pelayan. Penyebaran juga lebih kompleks, kerana setiap fungsi adalah versi dan dikemas kini secara bebas.
Kadang-kadang terdapat juga rujukan kepada isu penguncian vendor, yang merupakan kelemahan teknologi tanpa pelayan. Setakat ini, penyedia utama dalam bidang ini (AWS, Google, Azure) mempunyai alat pelaksanaan dan pengurusan yang berbeza. Ini boleh menjadikannya sukar untuk memindahkan aplikasi tanpa pelayan dari satu pembekal awan ke yang lain. Projek -projek seperti rangka kerja tanpa pelayan cuba untuk abstrak perkhidmatan asas supaya aplikasi boleh dipindahkan antara penyedia.
Fungsi Serverless Gunakan kes
Walaupun fungsi tanpa pelayan boleh digunakan untuk membina keseluruhan aplikasi, mari kita lihat beberapa kes penggunaan yang kurang bercita -cita tinggi di mana pelayan tidak dapat memberi manfaat kepada pemaju purata.
Bentuk Program Mel
Laman web biasanya benar -benar statik, kecuali untuk borang hubungan yang pelanggan ingin menghantar e -mel kepada pengguna apabila mereka mengklik untuk menghantar. Penyedia hosting laman web mungkin atau mungkin tidak menyokong skrip sisi pelayan, dan walaupun ia disokong, ia mungkin bukan bahasa yang anda kenal. Menetapkan fungsi tanpa pelayan sebagai pengirim bentuk membolehkan anda menambah ciri ini ke laman web yang dihoskan secara statik.
Tugasan Cron
Kadang -kadang anda mungkin perlu menjalankan tugas yang dijadualkan di latar belakang. Biasanya, anda perlu membayar untuk menubuhkan pelayan untuk pekerjaan Cron, dan pelayan ini terbiar antara pekerjaan. Dengan fungsi tanpa pelayan, anda hanya membayar untuk masa yang diperlukan untuk kerja untuk dijalankan (jika berada di dalam peringkat percuma, anda tidak boleh membayar sama sekali).
Generator Thumbnail
Katakan aplikasi React anda membolehkan pengguna memuat naik foto untuk digunakan sebagai avatar sepanjang aplikasi. Anda ingin mengubah saiz imej yang dimuat naik supaya anda tidak membazirkan jalur lebar dengan memberikan imej yang lebih besar daripada yang anda perlukan. Fungsi tanpa pelayan boleh digunakan untuk memproses permintaan memuat naik, mengubah saiz imej ke saiz yang dikehendaki dan simpannya ke perkhidmatan seperti S3 atau Google Storage.
Contoh praktikal fungsi tanpa pelayan
Untuk mendapatkan pemahaman yang lebih mendalam tentang bagaimana fungsi tanpa pelayan berfungsi, mari kita lihat contoh sebenar. Kami akan membuat halaman statik dengan borang pendaftaran siaran akhbar yang menggunakan fungsi tanpa pelayan untuk menyimpan nama pengguna dan alamat e-mel ke Google Spreadsheets.
Bergantung pada pembekal, fungsi tanpa pelayan boleh ditulis dalam pelbagai bahasa, tetapi kami akan menggunakan JavaScript kerana Netlify menyokong fungsi Node.js. Untuk terus belajar, saya menganggap anda mempunyai versi terkini Node/NPM yang dipasang pada komputer tempatan anda.
(langkah -langkah berikut adalah sama dengan contoh asal. Untuk mengekalkan konsistensi, tiada terjemahan berulang akan dibuat di sini.)
Serverless: Hanya fesyen, atau masa depan untuk backend?
Serverless juga dikecam sebagai fesyen dan dipuji sebagai masa depan aplikasi backend. Fungsi Lambda Amazon telah wujud sejak tahun 2014 dan merupakan produk utama untuk AWS. Sudah tentu, dalam banyak kes, fleksibiliti dan fungsi pelayan sebenar yang berjalan 24/7 dengan akses shell penuh masih diperlukan.
Walau bagaimanapun, seperti yang telah kita lihat, kos rendah tanpa server, skalabilitas, dan kos penyelenggaraan yang rendah menjadikannya pilihan yang baik untuk beberapa jenis beban kerja. Dengan kemunculan lebih banyak buku, kursus, rangka kerja dan perkhidmatan dalam ekosistem tanpa pelayan, adalah selamat untuk mengatakan bahawa fungsi tanpa pelayan akan wujud untuk masa yang lama.
(bahagian FAQ berikut adalah sama dengan contoh asal. Untuk mengekalkan konsistensi, tiada terjemahan berulang akan dibuat di sini.)
Atas ialah kandungan terperinci Fungsi tanpa pelayan: Panduan Penggunaan dan Penggunaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas









Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Jika aplikasi JavaScript memuat perlahan -lahan dan mempunyai prestasi yang buruk, masalahnya adalah bahawa muatan terlalu besar. Penyelesaian termasuk: 1. Penggunaan kod pemisahan (codesplitting), memecah bundle besar ke dalam pelbagai fail kecil melalui react.lazy () atau membina alat, dan memuatkannya seperti yang diperlukan untuk mengurangkan muat turun pertama; 2. Keluarkan kod yang tidak digunakan (treeshaking), gunakan mekanisme modul ES6 untuk membersihkan "kod mati" untuk memastikan perpustakaan yang diperkenalkan menyokong ciri ini; 3. Memampatkan dan menggabungkan fail sumber, membolehkan GZIP/Brotli dan Terser memampatkan JS, menggabungkan fail dan mengoptimumkan sumber statik; 4. Gantikan kebergantungan tugas berat dan pilih perpustakaan ringan seperti hari.js dan ambil

Perbezaan utama antara modul ES dan Commonjs adalah kaedah pemuatan dan senario penggunaan. 1.Commonjs dimuatkan secara serentak, sesuai untuk persekitaran sisi pelayan Node.js; 2. Modul tidak disengajakan, sesuai untuk persekitaran rangkaian seperti penyemak imbas; 3. Sintaks, modul ES menggunakan import/eksport dan mesti terletak di skop peringkat atas, manakala penggunaan CommonJS memerlukan/modul.exports, yang boleh dipanggil secara dinamik pada runtime; 4.Commonjs digunakan secara meluas dalam versi lama node.js dan perpustakaan yang bergantung kepadanya seperti Express, manakala modul ES sesuai untuk kerangka depan moden dan nod.jsv14; 5. Walaupun ia boleh dicampur, ia boleh menyebabkan masalah dengan mudah.

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Mekanisme pengumpulan sampah JavaScript secara automatik menguruskan memori melalui algoritma pembersihan tag untuk mengurangkan risiko kebocoran ingatan. Enjin melintasi dan menandakan objek aktif dari objek akar, dan tidak bertanda dianggap sebagai sampah dan dibersihkan. Sebagai contoh, apabila objek tidak lagi dirujuk (seperti menetapkan pembolehubah kepada null), ia akan dikeluarkan dalam pusingan seterusnya kitar semula. Punca kebocoran memori yang biasa termasuk: ① Pemasa atau pendengar peristiwa yang tidak jelas; ② Rujukan kepada pembolehubah luaran dalam penutupan; ③ Pembolehubah global terus memegang sejumlah besar data. Enjin V8 mengoptimumkan kecekapan kitar semula melalui strategi seperti kitar semula generasi, penandaan tambahan, kitar semula selari/serentak, dan mengurangkan masa menyekat benang utama. Semasa pembangunan, rujukan global yang tidak perlu harus dielakkan dan persatuan objek harus dihiasi dengan segera untuk meningkatkan prestasi dan kestabilan.

Perbezaan antara VAR, LET dan Const adalah skop, promosi dan pengisytiharan berulang. 1.VAR adalah skop fungsi, dengan promosi yang berubah -ubah, yang membolehkan pengisytiharan berulang; 2.Let adalah skop peringkat blok, dengan zon mati sementara, dan pengisytiharan berulang tidak dibenarkan; 3.const juga skop peringkat blok, dan mesti diberikan dengan segera, dan tidak boleh ditugaskan semula, tetapi nilai dalaman jenis rujukan boleh diubah suai. Gunakan const terlebih dahulu, gunakan biarkan apabila menukar pembolehubah, dan elakkan menggunakan var.
