JavaScript >> Javascript 文檔 >  >> Node.js

在 Node.js 中開始使用 Amazon Web Services

簡介

Amazon Web Services (AWS) 是一家云計算提供商,提供許多非常受歡迎的服務。自 2006 年推出以來,它們已成為主要企業應用程序開發和部署的關鍵參與者。他們的服務在許多方面都具有可擴展性、靈活性和開創性,同時與自託管相比,成本保持相對較低。

這些只是 Adob​​e、Airbnb、Autodesk、BMW、歐洲航天局、Ticketmaster、小米、Twitch、Netflix、Facebook、LinkedIn、Twitter 等大公司開始在 AWS 平台上託管其應用程序的部分原因。

我們編寫了一系列關於使用 Node.js 與這些服務集成的文章,以幫助您快速了解 AWS 的一些最受歡迎的服務。

文件存儲

AWS 簡單存儲服務 (S3)

我們今天構建的許多軟件和 Web 應用程序都需要某種文件託管方式 - 圖像、發票、音頻文件等。存儲文件的傳統方式只是將它們保存在服務器的 HDD 上。

但是,將文件保存到服務器的 HDD 上存在一些限制,例如無法擴展、需要在使用前分配空間以及更高的價格。更不用說,請求大量大文件(例如圖像)確實會給服務器帶來壓力。

為了卸載服務器,開發人員開始使用 AWS S3、Google Cloud Storage 等存儲提供商託管文件。

在本文中,我們將向您展示如何編寫 Node.js 代碼將文件上傳到 S3:

  • 使用 Node.js 將文件上傳到 AWS S3

消息支持

AWS 簡單通知服務 (SNS)

AWS Simple Notification Service (SNS) 是一項超級可擴展的服務,允許用戶輕鬆實現發布/訂閱模型。

這使我們能夠同時跨多個渠道向其他目標發送文本、電子郵件、推送通知或其他自動消息。

在這篇文章中,您將學習如何構建一個 Web 應用程序,該應用程序可以通過電子郵件一次向多個訂閱者發布消息,所有這些都使用 SNS:

  • 使用 Node.js 發布和訂閱 AWS SNS 消息

AWS 簡單隊列服務 (SQS)

隨著現代軟件系統複雜性的增加,需要分解已經超出其初始規模的系統。系統複雜性的增加使得維護、更新和升級變得更加困難。

這為微服務鋪平了道路,允許將龐大的單體系統分解為更小的服務,這些服務鬆散耦合但交互以提供初始單體解決方案的全部功能。松耦合提供了敏捷性並簡化了維護和添加新功能的過程,而無需修改整個系統。

正是在這些微服務架構中,隊列系統派上用場,以促進構成整個應用程序的不同服務之間的通信。

在這篇文章中,我們將深入研究隊列系統,尤其是亞馬遜的簡單隊列服務 (SQS),並展示我們如何在微服務環境中利用其功能:

  • 使用 AWS SQS 在 Node.js 中進行消息隊列

數據庫支持

AWS 關係數據庫服務 (RDS)

毫不誇張地說,信息和數據支配著世界。幾乎所有應用程序,從社交媒體和電子商務網站,到簡單的時間跟踪器和繪圖應用程序,都依賴於存儲和檢索數據這一非常基本和基本的任務,以便按預期運行。

Amazon 的關係數據庫服務 (RDS) 提供了一種使用各種關係數據庫技術在雲中設置數據庫的簡單方法。

在本文中,您將學習如何在 RDS 上建立數據庫並使用 Node Web 應用程序在其中存儲數據:

  • 將 AWS RDS 與 Node.js 和 Express 結合使用

雲計算

AWS 彈性計算雲 (EC2)

一旦您編寫了一個 Web 應用程序,就會有許多產品可以讓您的應用程序在線並可供其他人使用。彈性計算雲 (EC2) 是 AWS 上最知名且最受歡迎的服務之一。

免費電子書:Git Essentials

查看我們的 Git 學習實踐指南,其中包含最佳實踐、行業認可的標準以及隨附的備忘單。停止谷歌搜索 Git 命令並真正學習 它!

EC2 是 AWS 的核心部分,AWS 的許多其他服務都建立在它之上 - 因此了解 EC2 是什麼以及如何將應用程序部署到它是很好的。

在本教程中,我們將使用 Docker 創建一個基本的 Node.js 應用程序,啟動並配置一個 EC2 實例,然後將我們的應用程序部署到它:

  • 使用 Docker 將 Node.js 應用程序部署到 AWS EC2

AWS Lambda

AWS Lambda 所屬的計算架構家族稱為無服務器計算,有時也稱為功能即服務。這對開發人員來說是開創性的,因為不需要維護服務器。每次創建和運行 AWS Lambda 函數時,都會啟動一個容器來為其提供服務,該容器在其他容器之間共享以保持較高的資源利用率。

代碼被部署到容器中,然後執行。因此,如果容器已經存在,AWS 會跳過容器的初始創建,從而使每個後續請求更快。

在本文中,您將了解有關 Lambda 服務以及如何啟動和運行代碼的更多信息:

  • 使用 Node.js 開始使用 AWS Lambda

Tutorial JavaScript 教程
  1. 開始一個個人感興趣的項目

  2. 為您的靜態 Next.js 站點生成 Open Graph 圖像

  3. 電子歷險記:第 74 集:Neutralino

  4. JSON Web 令牌 (JWT) 與 SessionID 🔐 ? 2分鐘解釋

  5. 如何忽略 nuxt 中的 .ts/.js 文件不會在路由中生成?

  6. 如何在您的 Web 應用程序中使用 jQuery Slider UI 組件

  7. Angular:無法綁定到 ngModel,因為它不是輸入的已知屬性

  1. Angular - 如何通過查詢參數傳遞數組

  2. 任何滑塊 jQuery 插件

  3. Javascript Sock Merchant Challenge - 解決方案 1

  4. 如何使用 AWS SES、Lambda 和 API 網關從您的站點接收電子郵件聯繫我們表單

  5. 開發人員面臨的第 1 個問題 - 已解決!

  6. 覆蓋 window.alert

  7. 如何使用 JavaScript 或 jQuery 更改數組內的對象的值?

  1. 我如何讓我的網站加載速度提高 18%

  2. JavaScript 中的自定義事件:完整指南

  3. 你應該知道的 17 個 Angular 庫

  4. p5-Svelte:在 Svelte 中使用 p5 的快速簡便的方法! 🕸🧙‍♂️