Rumah > hujung hadapan web > tutorial js > Pembangunan tanpa pelayan dengan Node.js, AWS Lambda dan MongoDB Atlas

Pembangunan tanpa pelayan dengan Node.js, AWS Lambda dan MongoDB Atlas

Joseph Gordon-Levitt
Lepaskan: 2025-02-15 12:11:12
asal
334 orang telah melayarinya

Serverless development with Node.js, AWS Lambda and MongoDB Atlas

mata utama

    Senibina tanpa pelayan menggunakan AWS Lambda, Node.js, dan MongoDB Atlas membolehkan pemaju menjalankan kod tanpa menguruskan pelayan, memberi tumpuan kepada pengekodan, sementara AWS menjaga infrastruktur.
  • AWS Lambda dengan lancar mengintegrasikan dengan MongoDB Atlas untuk membolehkan aplikasi masa nyata yang kuat dengan mencetuskan fungsi berdasarkan peristiwa pangkalan data.
  • Tetapan keselamatan termasuk membuat pengguna pangkalan data MongoDB Atlas dengan kebenaran terhad, dan menyulitkan pembolehubah persekitaran sensitif menggunakan Perkhidmatan Pengurusan Utama AWS (KMS).
  • Ujian tempatan fungsi lambda dapat mempercepat pembangunan dan debugging, terima kasih kepada alat seperti
  • yang dapat mensimulasikan persekitaran AWS Lambda secara tempatan. lambda-local
  • Menggunakan semula sambungan pangkalan data dalam fungsi Lambda untuk mengoptimumkan prestasi, mengurangkan masa pelaksanaan dan penggunaan sumber.
  • Sebelum menggunakan persekitaran pengeluaran, pastikan untuk melindungi kluster MongoDB Atlas dengan menetapkan peranan pengguna yang betul dan alamat IP putih, mengelakkan blok CIDR 0.0.0.0/0 yang kurang selamat.

Artikel ini pada asalnya diterbitkan di MongoDB. Terima kasih kerana menyokong rakan kongsi yang membuat SitePoint mungkin.

Pada tahun -tahun kebelakangan ini, persekitaran pemaju telah mengalami perubahan yang luar biasa. Pada masa lalu, kami pemaju biasanya akan menjalankan semua alat (pangkalan data, pelayan web, IDE pembangunan ...) pada mesin mereka sendiri, tetapi perkhidmatan awan seperti GitHub, MongoDB Atlas, dan AWS Lambda merevolusikan ini. Mereka menjadikannya semakin mudah bagi pemaju untuk menulis dan menjalankan kod di mana -mana, pada mana -mana peranti, tanpa (atau dengan sangat sedikit) kebergantungan.

Beberapa tahun yang lalu, jika anda terhempas, kehilangan mesin anda, atau kehilangan kuasa anda, mungkin mengambil masa beberapa hari untuk anda mendapatkan semula mesin baru anda dan menubuhkan dan mengkonfigurasi semuanya dengan betul untuk mendapatkannya kembali ke sebelumnya satu negeri.

Dengan alat pemaju awan, kini anda boleh beralih dari satu komputer riba ke yang lain tanpa menyebabkan terlalu banyak gangguan. Walau bagaimanapun, itu tidak bermakna semuanya berjalan lancar. Kod penulisan dan debug di awan masih mencabar;

Ini adalah apa yang saya akan cuba untuk menunjukkan kepada anda dalam catatan blog ini: bagaimana untuk mengintegrasikan AWS Lambda Node.js fungsi dengan pangkalan data MongoDB yang dihoskan di MongoDB Atlas (DBAAS untuk MongoDB (pangkalan data sebagai perkhidmatan)). Lebih khusus lagi, kami akan menulis fungsi Lambda yang mudah yang mewujudkan satu dokumen dalam koleksi yang disimpan dalam pangkalan data Atlas MongoDB. Saya akan memandu anda melalui langkah tutorial ini dan anda harus menyelesaikannya dalam satu jam.

mari kita mulakan dengan keperluan yang diperlukan dan dapatkan anda bermula:

  1. Akaun Perkhidmatan Web Amazon yang tersedia dengan pengguna dengan akses pentadbiran ke perkhidmatan IAM dan Lambda. Jika anda belum mempunyai akaun, daftar untuk akaun AWS percuma.
  2. Mesin tempatan dengan node.js (saya memberitahu anda bahawa kami tidak akan menyingkirkan persekitaran pembangunan tempatan dengan mudah ...). Kami akan menggunakan Mac OS X dalam tutorial di bawah, tetapi ia harus agak mudah untuk melaksanakan tugas yang sama pada Windows atau Linux.
  3. kluster Atlas MongoDB yang sedang berjalan. Sekiranya anda belum melakukannya, daftar untuk akaun Atlas MongoDB percuma dan buat kluster hanya dalam beberapa klik. Anda juga boleh mencuba lapisan kluster percuma M0 kami, sesuai untuk projek pembangunan kecil! ).

Sekarang anda memahami keperluan, mari kita bincangkan langkah -langkah khusus yang akan kita ambil untuk menulis, menguji, dan menggunakan fungsi Lambda kami:

  1. MongoDB Atlas selamat secara lalai, tetapi sebagai pemaju aplikasi, kita harus mengambil beberapa langkah untuk memastikan aplikasi kami mematuhi amalan terbaik untuk akses kebenaran minimum. Iaitu, kami akan menyempurnakan keizinan dengan membuat pengguna pangkalan data MongoDB Atlas yang telah membaca/menulis akses hanya ke pangkalan data aplikasi kami.
  2. kami akan menubuhkan projek Node.js pada mesin tempatan kami dan kami akan memastikan untuk menguji kod Lambda kami secara end-to-end secara tempatan sebelum menggunakannya ke Amazon Web Services.
  3. Kami kemudian akan membuat fungsi AWS Lambda kami dan memuat naik projek Node.js kami untuk memulakannya.
  4. Terakhir tetapi tidak kurang, kami akan membuat beberapa pengubahsuaian kepada fungsi Lambda kami untuk menyulitkan beberapa data sensitif (seperti rentetan sambungan Atlas MongoDB) dan nyahpesarkannya dari kod fungsi.

Penerangan ringkas mengenai VPC Peering

Saya tidak masuk ke butiran mengenai penubuhan VPC mengintip antara cluster MongoDB Atlas kami dan AWS Lambda kerana dua sebab: 1) Kami sudah mempunyai halaman dokumentasi terperinci mengenai penubuhan VPC Peering dan saya sangat mengesyorkan siaran ini VPC mengintip di atlas;

Jika anda tidak menyediakan VPC Peering, perkara berikut akan berlaku:

  1. Anda mesti menambah blok CIDR 0.0.0.0/0 yang terkenal ke Whitelist IP MongoDB Atlas anda kerana anda tidak akan tahu yang digunakan oleh alamat IP Lambda untuk memanggil pangkalan data Atlas anda.
  2. Anda akan membayar penggunaan jalur lebar antara fungsi Lambda dan kelompok Atlas.

Jika anda hanya cuba mendapatkan kod demo ini untuk menulis, kedua-dua amaran ini mungkin baik-baik saja, tetapi jika anda bercadang untuk menggunakan integrasi Lambda-Atlas yang boleh digunakan dalam persekitaran pengeluaran, menubuhkan VPC Peering, Sangat disyorkan kami sangat mengesyorkan amalan terbaik keselamatan. M0 adalah produk percuma semasa kami;

Ingatkan bahawa untuk persekitaran pembangunan dan laman web trafik yang rendah, saiz contoh M0, M10 dan M20 harus baik -baik saja. Walau bagaimanapun, untuk persekitaran pengeluaran yang menyokong aplikasi trafik tinggi atau dataset besar, disyorkan untuk menggunakan saiz M30 atau lebih besar.

Tetapkan Keselamatan di MongoDB Atlas Cluster

Pastikan aplikasi anda mematuhi dasar akses kebenaran minimum adalah penting untuk melindungi data anda dari ancaman berniat jahat. Itulah sebabnya kami akan menyediakan pengguna pangkalan data tertentu yang hanya akan membaca/menulis akses ke pangkalan data perjalanan kami. Mari lihat bagaimana melaksanakannya di MongoDB Atlas:

pada halaman kluster, pilih tab Keselamatan dan tekan butang Tambah BARU Pengguna

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Dalam bahagian Kebenaran Pengguna, pilih pautan Serverless development with Node.js, AWS Lambda and MongoDB Atlas . Ini membolehkan kami memberikan kebenaran membaca/menulis ke pangkalan data tertentu, bukan mana -mana pangkalan data.

anda kemudian boleh memilih untuk memberikan kebenaran kawalan akses berbutir yang lebih baik: Serverless development with Node.js, AWS Lambda and MongoDB Atlas

Dalam senarai drop-down peranan pilih, pilih ReadWrite dan isi medan pangkalan data dengan nama pangkalan data yang akan anda gunakan untuk menyimpan dokumen. Saya memilih untuk menamakannya. Serverless development with Node.js, AWS Lambda and MongoDB Atlas

Di bahagian kata laluan, gunakan butang kata laluan keselamatan yang dijana secara automatik (dan perhatikan kata laluan yang dihasilkan) atau tetapkan kata laluan kegemaran anda. Kemudian tekan butang "Tambah Pengguna" untuk mengesahkan bahawa pengguna ini dibuat. Serverless development with Node.js, AWS Lambda and MongoDB Atlas

mari kita dapatkan rentetan sambungan kluster dengan cara, kerana kita akan memerlukannya dalam kod Lambda untuk menyambung ke pangkalan data MongoDB Atlas kami:

Katakan anda telah membuat kluster MongoDB Atlas, tekan butang "Sambung" di sebelah kluster:

Salin nilai rentetan sambungan URI dan simpan dengan selamat dalam dokumen teks. Kami akan memerlukannya dalam kod kemudian, serta kata laluan yang anda tetapkan. Serverless development with Node.js, AWS Lambda and MongoDB Atlas

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Di samping itu, jika anda tidak menggunakan VPC Peering, navigasi ke tab Whitelist IP dan tambahkan blok 0.0.0.0/0 CIDR atau tekan butang Access dari Anywhere. Sebagai peringatan, tetapan ini sangat disyorkan untuk tidak digunakan dalam persekitaran pengeluaran dan boleh membuat cluster MongoDB Atlas anda terdedah kepada serangan berniat jahat.

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Buat projek node.js tempatan

Walaupun fungsi lambda menyokong pelbagai bahasa, saya memilih untuk menggunakan node.js, terima kasih kepada populariti JavaScript yang semakin meningkat sebagai bahasa pengaturcaraan pelbagai fungsi dan kejayaan besar dan rumput mern (MongoDB, Express.js, Angular /React , Akronim Node.js - Semak siri blog pemaju indah Andrew Morgan mengenai topik ini). Juga, jujur, saya suka bahawa ia adalah bahasa ringan yang ditafsirkan yang tidak memerlukan alat pembangunan dan penyusun yang berat.

Sekarang sudah tiba masanya untuk menulis beberapa kod, jadi mari kita terus menggunakan Node.js sebagai bahasa pilihan kita untuk fungsi Lambda kita.

Pertama buat folder, seperti Lambda-atlas-create-doc

<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, jalankan arahan berikut dari konsol terminal dan mulakan projek kami dengan fail pakej.json

<code>npm init</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Sistem ini akan mendorong anda untuk mengkonfigurasi beberapa bidang. Saya telah meninggalkan mereka ke kreativiti anda, tetapi perhatikan bahawa saya memilih untuk menetapkan titik masuk ke app.js (bukannya index.js lalai), jadi anda mungkin mahu melakukannya juga.

kita perlu menggunakan pemacu MongoDB Node.js supaya kita dapat menyambung ke pangkalan data MongoDB kami dari fungsi Lambda (di Atlas), jadi mari kita teruskan dan jalankan arahan berikut untuk memasangnya dari akar projek kami:

<code>npm install mongodb --save</code>
Salin selepas log masuk

Kami juga ingin menulis dan menguji fungsi Lambda kami secara tempatan untuk mempercepatkan pembangunan dan memudahkan debugging, kerana instantiating fungsi Lambda di Amazon Web Services tidak begitu cepat setiap kali (dan debugging tidak benar -benar wujud kecuali anda konsol. log () peminat fungsi). Saya memilih untuk menggunakan pakej Lambda-Local kerana ia memberikan sokongan untuk pembolehubah persekitaran (kami akan menggunakannya kemudian):

<code>(sudo) npm install lambda-local -g</code>
Salin selepas log masuk

Buat fail app.js. Ini akan menjadi fail yang mengandungi fungsi lambda kami:

<code>touch app.js</code>
Salin selepas log masuk
3 Mulakannya dengan segmen kod:

<code>'use strict'

var MongoClient = require('mongodb').MongoClient;

let atlas_connection_uri;
let cachedDb = null;

exports.handler = (event, context, callback) => {
  var uri = process.env['MONGODB_ATLAS_CLUSTER_URI'];

  if (atlas_connection_uri != null) {
    processEvent(event, context, callback);
  } 
  else {
    atlas_connection_uri = uri;
    console.log('the Atlas connection string is ' + atlas_connection_uri);
    processEvent(event, context, callback);
  } 
};

function processEvent(event, context, callback) {
  console.log('Calling MongoDB Atlas from AWS Lambda with event: ' + JSON.stringify(event));
}</code>
Salin selepas log masuk
mari berhenti dan mengulas kod di atas, kerana anda mungkin perasan beberapa struktur pelik:

  • Fail ini ditulis dengan tepat cara AWS Lambda menjangkakan (contohnya, menggunakan fungsi "Exports.Handler"). Ini kerana kami menggunakan Lambda-Local untuk menguji fungsi Lambda kami secara tempatan, yang membolehkan kami menulis kod kami dengan tepat cara AWS Lambda menjangkakan. Ini akan diterangkan secara terperinci kemudian.
  • Kami mengisytiharkan pemandu MongoDB Node.js, yang akan membantu kami menyambung ke pangkalan data MongoDB dari fungsi Lambda (di Atlas).
  • Juga ambil perhatian bahawa kami mengisytiharkan objek cache di luar fungsi pengendali. Seperti namanya, ia adalah objek yang kami merancang untuk cache untuk tempoh bekas yang mendasari Lambda instantiates untuk fungsi kami. Ini membolehkan kita menyelamatkan beberapa milisaat berharga (walaupun saat) untuk membuat sambungan pangkalan data antara Lambda dan MongoDB Atlas. Untuk maklumat lanjut, bacalah catatan blog saya yang berikutnya mengenai cara mengoptimumkan prestasi Lambda dengan MongoDB Atlas.
  • kami menggunakan pemboleh ubah persekitaran yang dipanggil mongodb_atlas_cluster_uri Maklumat sensitif kelas. Oleh kerana AWS Lambda menyokong pembolehubah persekitaran sejak November 2016 (seperti yang berlaku dengan pakej NPM Lambda-Local), ia akan terlalu lalai untuk tidak menggunakannya.
  • Kod fungsi kelihatan agak rumit, dengan menggunakan pernyataan dan fungsi ProcessEvent yang tidak berguna, tetapi semuanya menjadi jelas apabila kami menambah rutin penyahsulitan menggunakan Perkhidmatan Pengurusan Utama AWS (KMS). Sebenarnya, kami tidak hanya mahu menyimpan rentetan sambungan Atlas MongoDB kami dalam pembolehubah persekitaran, tetapi juga untuk menyulitkannya (menggunakan AWS KMS) kerana ia mengandungi data yang sangat sensitif (ambil perhatian bahawa walaupun anda mempunyai akaun AWS percuma, yang mungkin juga menanggung bayaran Apabila anda menggunakan AWS KMS).

Sekarang kami telah menyelesaikan komen kod, mari buat fail event.json (dalam direktori root projek) dan mengisi dengan data berikut:

<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

(jika anda ingin tahu, fail JSON adalah apa yang akan kami hantar ke MongoDB Atlas untuk membuat dokumen BSON kami)

Seterusnya, pastikan anda telah menetapkannya dengan betul dengan menjalankan arahan berikut dalam konsol terminal:

<code>npm init</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Jika anda ingin menguji dengan rentetan sambungan Uri anda sendiri (saya percaya anda akan), jangan lupa untuk melepaskan petikan, koma, dan & aksara ganda dalam parameter e, atau lambda-local akan membuang ralat (Anda juga harus menggantikan kata kunci $ kata laluan dan $ pangkalan data dengan nilai anda sendiri).

Selepas anda menjalankannya secara tempatan, anda harus melihat output konsol berikut:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Jika anda menghadapi ralat, periksa rentetan sambungan anda dan petikan berganda/koma/& melarikan diri (seperti yang disebutkan di atas).

Sekarang, mari kita mengendalikan kandungan teras kod fungsi dengan menyesuaikan fungsi ProcessEvent () dan menambah fungsi creationoc ():

<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Perhatikan betapa mudahnya untuk menyambung ke pangkalan data MongoDB Atlas dan memasukkan dokumen, dan sekeping kod kecil yang saya tambahkan untuk menukar tarikh JSON (diformat sebagai rentetan patuh ISO) ke JavaScript sebenar yang boleh disimpan sebagai tarikh tarikh BSON .

anda juga boleh melihat anotasi pengoptimuman prestasi saya dan panggilan ke konteks.CallBackWaitSForEmptyEventLoop = False. Jika anda berminat untuk memahami apa yang mereka maksudkan (saya fikir anda perlu!), Lihat catatan blog saya yang berikutnya mengenai cara mengoptimumkan prestasi Lambda dengan MongoDB Atlas.

Anda kini bersedia untuk menguji fungsi lambda anda sepenuhnya di dalam negara. Menggunakan arahan Lambda-Local yang sama seperti dahulu, mudah-mudahan anda akan menerima mesej kejayaan "kudos" yang bagus:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Jika semuanya berjalan lancar di mesin tempatan anda, mari lepaskan projek Node.js tempatan kami sebagai fungsi Lambda baru!

Buat fungsi lambda

Langkah pertama yang akan kita ambil adalah untuk memampatkan projek Node.js kami, kerana kami tidak akan menulis fungsi kod Lambda dalam editor kod Lambda. Sebaliknya, kami akan memilih kaedah muat naik zip untuk menolak kod kami ke AWS Lambda.

Saya menggunakan alat baris perintah zip di konsol terminal, tetapi sebarang kaedah akan berfungsi (selagi anda memampatkan fail ke dalam folder peringkat atas, bukan folder peringkat atas itu sendiri!):

<code>npm init</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, log masuk ke konsol AWS, menavigasi ke halaman peranan IAM dan membuat peranan (contohnya, LambdabasiCexecrole) dengan AWSLambdabasiCeXecutionRole Dasar Kebenaran:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Mari kita navigasi ke halaman AWS Lambda. Klik Mula Sekarang (jika anda tidak pernah membuat fungsi Lambda) atau butang Fungsi Lambda. Kami tidak akan menggunakan apa -apa cetak biru dan kami tidak akan mengkonfigurasi mana -mana pencetus, jadi sila pilih "Konfigurasikan fungsi" secara langsung di bar navigasi kiri:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Dalam halaman Fungsi Konfigurasi, masukkan nama fungsi (contohnya, mongodb_atlas_createdoc). Runtime secara automatik ditetapkan ke Node.js 4.3, yang sesuai untuk kita kerana ini adalah bahasa yang akan kita gunakan. Dalam senarai jenis input kod, pilih muat naik .zip fail, seperti yang ditunjukkan dalam tangkapan skrin di bawah:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Klik butang "Upload" dan pilih fail projek Node.js termampat yang anda buat sebelum ini.

Dalam bahagian "Pengendali Fungsi Lambda dan Peranan", ubah nilai medan "Pengendali" ke app.handler (mengapa? Berikut adalah tip: Saya menggunakan fail app.js untuk kod fungsi Lambda saya, bukan indeks. JS Fail ...) dan pilih peranan LambdabasiCexecrole yang sedia ada yang baru saja kami buat:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Di bahagian Tetapan Lanjutan, anda mungkin mahu meningkatkan nilai tamat masa hingga 5 atau 10 saat, tetapi ini selalu sesuatu yang anda boleh menyesuaikan kemudian. Tinggalkan medan kunci VPC dan KMS sebagai nilai lalai mereka (melainkan jika anda mahu menggunakan kekunci VPC dan/atau KMS), dan tekan seterusnya.

Akhir sekali, lihat fungsi Lambda anda dan tekan "Buat Fungsi" di bahagian bawah. Tahniah, fungsi Lambda anda dalam talian, dan anda harus melihat halaman yang serupa dengan tangkapan skrin berikut:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Tetapi adakah anda ingat kami menggunakan pembolehubah persekitaran? Sekarang adalah masa untuk mengkonfigurasi mereka dan menggunakan Perkhidmatan Pengurusan Utama AWS untuk melindungi mereka!

Konfigurasikan dan lindungi pembolehubah persekitaran lambda anda

tatal ke tab kod fungsi lambda dan buat pemboleh ubah persekitaran dengan sifat berikut:

name nilai Demi keselamatan (kami akan menyulitkan rentetan sambungan. Pilih kotak semak "Dayakan Pembantu Penyulitan" dan pilih jika anda telah membuat kunci penyulitan (jika tidak, anda mungkin perlu membuat satu - yang mudah): Serverless development with Node.js, AWS Lambda and MongoDB Atlas Seterusnya, pilih butang "Encrypt" untuk pembolehubah mongodb_atlas_cluster_uri:

Kembali ke editor kod sebaris, tambahkan baris berikut di bahagian atas:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas

dan ganti kandungan pernyataan "lain" dalam kaedah "Exports.Handler" dengan kod berikut:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas

(semoga kod kompleks yang kami tulis pada mulanya masuk akal sekarang!)
<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Jika anda ingin menyemak keseluruhan kod fungsi yang saya gunakan, lihat intipati berikut. Bagi peminat Git, kod sumber projek Node.js penuh juga boleh didapati di GitHub.

<code>npm init</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Sekarang tekan butang "Simpan dan Ujian" dan tampal kandungan fail event.json kami dalam editor teks "Input Test Event":

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Tatal dan tekan butang "Simpan dan Ujian".

Jika anda mengkonfigurasi semuanya dengan betul, anda harus menerima mesej kejayaan berikut dalam output log lambda:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas hebat! Anda boleh menikmati beberapa minit kejayaan sebelum terus membaca.

Apa yang akan datang?

Saya harap tutorial integrasi AWS Lambda-Mongodb Atlas ini akan memberi anda langkah yang tepat untuk memulakan projek Lambda pertama anda. Anda kini boleh menulis dan menguji fungsi Lambda secara tempatan dan menyimpan data sensitif, seperti rentetan sambungan Atlas MongoDB anda, dengan selamat di AWS KMS.

Jadi apa yang boleh anda lakukan seterusnya?

  • Jika anda tidak mempunyai akaun Atlas MongoDB, belum terlambat untuk menciptanya sekarang!
  • Jika anda tidak biasa dengan pemacu MongoDB Node.js, sila lihat dokumentasi pemandu Node.js kami untuk cara memanfaatkan API MongoDB. Di samping itu, kami juga menyediakan kursus Node.js dalam talian untuk pemaju Node.js yang baru mula menggunakan MongoDB.
  • Ketahui cara menggunakan fungsi Lambda untuk membuat data, muat turun MongoDB Compass dan baca Visualisasikan data anda dengan MongoDB Compass, dan belajar bagaimana untuk menyambungkannya ke Atlas MongoDB.
  • Rancang untuk membina sejumlah besar fungsi lambda? Ketahui cara menyelaraskannya menggunakan fungsi langkah AWS dengan membaca catatan blog kami menggunakan fungsi langkah AWS untuk mengintegrasikan MongoDB Atlas, Twilio, dan perkhidmatan e -mel mudah AWS.
  • Ketahui cara mengintegrasikan MongoDB dan AWS Lambda dalam senario yang lebih kompleks, lihat catatan blog kami yang lebih maju: Membangunkan Chatbots Facebook dengan AWS Lambda dan Mongodb Atlas.

Sudah tentu, jangan ragu untuk bertanya apa -apa soalan atau tinggalkan maklum balas anda dalam komen di bawah. Selamat pengekodan!

seperti artikel ini? Mainkan semula webinar kami di mana kami menyediakan tutorial interaktif pada arkitek tanpa pelayan menggunakan AWS Lambda.

Soalan Lazim (FAQ) pada Pembangunan tanpa pelayan dengan Node.js, AWS Lambda, dan MongoDB Atlas

Apakah faedah menggunakan AWS Lambda untuk pembangunan tanpa pelayan?

AWS Lambda adalah alat yang sangat berguna dalam pembangunan tanpa pelayan. Ia membolehkan pemaju menjalankan kod tanpa menguruskan pelayan. Ini bermakna anda boleh memberi tumpuan kepada menulis kod dan membiarkan AWS Lambda mengendalikan infrastruktur. Ia secara automatik menanam permohonan anda berdasarkan trafik masuk dan anda hanya membayar untuk masa pengiraan yang anda makan. Ini menjadikannya penyelesaian kos efektif untuk perniagaan dari semua saiz. Di samping itu, AWS Lambda menyokong pelbagai bahasa pengaturcaraan, termasuk Node.js, menjadikannya pilihan serba boleh untuk pemaju.

Bagaimana Atlas MongoDB diintegrasikan dengan AWS Lambda?

MongoDB Atlas dengan lancar mengintegrasikan dengan AWS Lambda. Ia menyediakan perkhidmatan pangkalan data yang diuruskan sepenuhnya yang mengautomasikan tugas pentadbiran yang memakan masa seperti konfigurasi perkakasan, persediaan pangkalan data, penampalan, dan sandaran. Dengan MongoDB Atlas, anda boleh dengan mudah mencetuskan fungsi Lambda AWS berdasarkan peristiwa pangkalan data seperti penyisipan, kemas kini, atau padam. Ini membolehkan anda membuat aplikasi yang kuat, masa nyata, dan tanpa pelayan.

Apakah langkah -langkah untuk menyediakan aplikasi tanpa pelayan dengan Node.js, AWS Lambda, dan MongoDB Atlas?

Menyediakan aplikasi tanpa pelayan dengan Node.js, AWS Lambda, dan MongoDB Atlas melibatkan beberapa langkah. Pertama, anda perlu menyediakan fungsi AWS Lambda anda. Ini termasuk kod menulis menggunakan Node.js dan memuat naiknya ke AWS Lambda. Seterusnya, anda perlu mengkonfigurasi kluster MongoDB Atlas anda. Ini termasuk membuat kluster baru, mengkonfigurasi senarai putih IP anda, dan membuat pengguna pangkalan data. Akhirnya, anda perlu menyambungkan fungsi AWS Lambda anda ke kluster MongoDB Atlas anda. Ini termasuk mengkonfigurasi fungsi lambda anda untuk menyambungkan rentetan menggunakan atlas MongoDB.

Bagaimana menyelesaikan masalah dengan aplikasi tanpa pelayan?

Pelbagai alat dan teknologi boleh digunakan untuk menyelesaikan masalah dengan aplikasi tanpa pelayan. AWS Lambda menyediakan log terperinci pelaksanaan fungsi, yang dapat membantu anda mengenal pasti sebarang kesilapan atau masalah. MongoDB Atlas juga menawarkan keupayaan pemantauan dan peringatan yang komprehensif, membolehkan anda menjejaki prestasi pangkalan data anda dan menerima makluman untuk sebarang isu yang berpotensi. Di samping itu, menggunakan amalan pengekodan yang baik dan menguji dengan teliti aplikasi anda dapat membantu mencegah masalah.

Apakah pertimbangan keselamatan ketika menggunakan AWS Lambda dan MongoDB Atlas?

Keselamatan adalah aspek utama mana -mana aplikasi, dan aplikasi tanpa pelayan tidak terkecuali. AWS Lambda menawarkan pelbagai ciri keselamatan termasuk AWS Identity and Access Management (IAM) untuk kawalan akses, penyulitan pada pengangkutan dan rehat, dan sokongan VPC untuk pengasingan rangkaian. MongoDB Atlas juga menawarkan ciri-ciri keselamatan yang kuat termasuk IP Whitelisting, Auditing Pangkalan Data, dan Penyulitan pada REST dan In-Transit. Pastikan untuk mengkonfigurasi ciri keselamatan ini dengan betul untuk melindungi aplikasi dan data anda.

Bagaimana untuk mengoptimumkan prestasi aplikasi tanpa pelayan?

Mengoptimumkan prestasi aplikasi tanpa pelayan melibatkan pelbagai strategi. Ini termasuk dengan betul mengkonfigurasi fungsi AWS Lambda untuk prestasi optimum, menggunakan kod yang cekap, dan mengoptimumkan pangkalan data MongoDB Atlas. AWS Lambda membolehkan anda memperuntukkan memori untuk fungsi, yang juga memperuntukkan keupayaan CPU, jalur lebar rangkaian, dan cakera I/O secara proporsional. MongoDB Atlas menyediakan ciri pengoptimuman prestasi seperti pengindeksan automatik dan nasihat perunding prestasi.

Bolehkah saya menggunakan bahasa pengaturcaraan lain di AWS Lambda dan MongoDB Atlas?

Ya, AWS Lambda menyokong pelbagai bahasa pengaturcaraan, termasuk Node.js, Python, Java, Go, dan .Net. Atlas MongoDB boleh digunakan dengan mana -mana bahasa pengaturcaraan dengan pemandu MongoDB. Ini menjadikannya penyelesaian serba boleh untuk pembangunan tanpa pelayan.

Bagaimanakah seni bina tanpa pelayan mempengaruhi kos permohonan saya?

Senibina tanpa pelayan dapat mengurangkan kos aplikasi dengan ketara. Dengan AWS Lambda, anda hanya membayar untuk masa pengiraan yang anda makan dan anda tidak mengenakan bayaran apabila kod tidak berjalan. MongoDB Atlas menawarkan pelbagai pilihan harga, termasuk peringkat percuma, membolehkan anda memilih pilihan yang paling sesuai dengan keperluan anda.

Bagaimana untuk memindahkan aplikasi saya yang sedia ada ke seni bina tanpa pelayan?

memindahkan aplikasi sedia ada ke seni bina tanpa pelayan melibatkan pelbagai langkah. Pertama, anda perlu refactor aplikasi untuk menjadikannya serasi dengan AWS Lambda dan MongoDB Atlas. Ini mungkin termasuk menulis semula kod dan mengubah suai skema pangkalan data menggunakan bahasa pengaturcaraan yang disokong. Seterusnya, anda perlu menyediakan fungsi AWS Lambda dan MongoDB Atlas cluster. Akhirnya, anda perlu menguji aplikasi anda dengan teliti untuk memastikan ia berfungsi dengan baik dalam seni bina baru.

Apakah batasan pembangunan tanpa pelayan menggunakan AWS Lambda dan MongoDB Atlas?

Walaupun AWS Lambda dan MongoDB Atlas menawarkan banyak manfaat untuk pembangunan tanpa pelayan, terdapat beberapa batasan yang perlu diberi perhatian. AWS Lambda mempunyai batasan mengenai jumlah sumber pengiraan dan penyimpanan yang tersedia, dan fungsi ini mempunyai masa pelaksanaan maksimum. Atlas MongoDB juga mengehadkan saiz pangkalan data dan bilangan sambungan. Walau bagaimanapun, batasan ini biasanya cukup tinggi untuk menampung kebanyakan aplikasi.

Atas ialah kandungan terperinci Pembangunan tanpa pelayan dengan Node.js, AWS Lambda dan MongoDB Atlas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan