欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Node.js構(gòu)建微服務(wù)的方法

 更新時(shí)間:2022年08月22日 08:41:13   作者:李睿  
這篇文章主要介紹了使用Node.js構(gòu)建微服務(wù),將介紹微服務(wù)架構(gòu)、優(yōu)勢(shì)以及如何使用Node.js開(kāi)發(fā)微服務(wù),需要的朋友可以參考下

使用Node.js構(gòu)建微服務(wù)是一種事件驅(qū)動(dòng)的開(kāi)發(fā)架構(gòu),允許開(kāi)發(fā)人員開(kāi)發(fā)功能加載、可擴(kuò)展和可靠的應(yīng)用程序。

構(gòu)建應(yīng)用程序不僅要滿足客戶的要求,還要將復(fù)雜的功能與動(dòng)態(tài)編程集成在一起,以維護(hù)用戶體驗(yàn)和代碼質(zhì)量。在開(kāi)發(fā)加載功能的大型應(yīng)用程序時(shí),確保應(yīng)用程序平穩(wěn)運(yùn)行非常重要。

本文將介紹微服務(wù)架構(gòu)、優(yōu)勢(shì)以及如何使用Node.js開(kāi)發(fā)微服務(wù)。

1.什么是微服務(wù)?

微服務(wù)是一種面向服務(wù)的架構(gòu)(SOA)。它是一個(gè)基于組件的模型,其中應(yīng)用程序由定義良好的協(xié)議(如HTTP)和獨(dú)立組件的組合構(gòu)成。簡(jiǎn)單來(lái)說(shuō),它是一種用于使用容器開(kāi)發(fā)分布式應(yīng)用程序的架構(gòu),其中集成到應(yīng)用程序中的每個(gè)功能都充當(dāng)企業(yè)業(yè)務(wù)的獨(dú)立服務(wù)。微服務(wù)最重要的特征是它們的API數(shù)組。

此外,使用微服務(wù)開(kāi)發(fā)應(yīng)用程序可以提高模塊化程度,同時(shí)還可以獨(dú)立部署應(yīng)用程序的每個(gè)部分,并單獨(dú)測(cè)試單元。

一些在其應(yīng)用程序中使用這種架構(gòu)的知名企業(yè)巨頭包括Netflix、Amazon、Uber、SoundCloud和許多其他品牌。為了開(kāi)發(fā)帶有微服務(wù)的應(yīng)用程序,一些最好的編程語(yǔ)言是Golang、Node.js、Python、Java等等。

既然已經(jīng)用最簡(jiǎn)單的術(shù)語(yǔ)演示了什么是微服務(wù)架構(gòu),那么了解它是否有益以及應(yīng)該選擇哪種編程語(yǔ)言來(lái)開(kāi)發(fā)微服務(wù)也很重要。

2.微服務(wù)的優(yōu)勢(shì)

使用微服務(wù)開(kāi)發(fā)廣泛而動(dòng)態(tài)的業(yè)務(wù)應(yīng)用程序已經(jīng)是一種好處。但除此之外,還有很多好處可以幫助開(kāi)發(fā)人員做出更好的決定。以下是微服務(wù)的一些優(yōu)勢(shì):

(1)部署過(guò)程更流暢,部分應(yīng)用程序不會(huì)影響整個(gè)應(yīng)用程序,因?yàn)樗侵饌€(gè)服務(wù)部署的。

(2)功能獨(dú)立,易于理解。

(3)微服務(wù)架構(gòu)有助于構(gòu)建高彈性和可靠的應(yīng)用程序。

(4)應(yīng)用程序中某個(gè)特定服務(wù)的故障仍在其內(nèi)部;它不會(huì)影響應(yīng)用程序的整個(gè)特性和功能。

(5)另一個(gè)好處是,在微服務(wù)架構(gòu)上開(kāi)發(fā)應(yīng)用程序時(shí),可以用不同的語(yǔ)言編寫(xiě)不同服務(wù)的代碼。

(6)使用微服務(wù)架構(gòu)構(gòu)建的應(yīng)用程序通常不會(huì)停機(jī)。

(7)它基于單個(gè)架構(gòu)而不是整個(gè)應(yīng)用程序所需的資源提供可擴(kuò)展的應(yīng)用程序。

(8)另一個(gè)額外的好處是對(duì)開(kāi)發(fā)人員而言;它提供了一種簡(jiǎn)化的體驗(yàn),因?yàn)樗麄儾槐亓私馔暾南到y(tǒng);他們只需要了解正在處理的功能或服務(wù),從而節(jié)省時(shí)間和費(fèi)用,并提高生產(chǎn)力。

上面提到的只是使用微服務(wù)開(kāi)發(fā)應(yīng)用程序的一些重要好處,在應(yīng)用程序的開(kāi)發(fā)過(guò)程中會(huì)遇到更多的好處。但需要確保了解微服務(wù)的缺點(diǎn)。雖然沒(méi)有太多的缺點(diǎn),但只要高效完成工作,就可以排除這些缺點(diǎn)。

其主要缺點(diǎn)是,如果流程架構(gòu)不正確,則可能會(huì)給開(kāi)發(fā)人員帶來(lái)系統(tǒng)過(guò)度碎片化的問(wèn)題。此外,監(jiān)控微服務(wù)架構(gòu)有時(shí)會(huì)變得復(fù)雜,因?yàn)檎麄€(gè)系統(tǒng)存在多個(gè)故障點(diǎn),這反過(guò)來(lái)也增加了應(yīng)用程序的測(cè)試復(fù)雜性。

3.使用Node.js構(gòu)建微服務(wù)的原因

在微服務(wù)應(yīng)用程序開(kāi)發(fā)中使用的所有編程語(yǔ)言中,Node.js因其特性和提供的好處而被開(kāi)發(fā)人員廣泛使用。以下是選擇使用Node.js構(gòu)建微服務(wù)的幾個(gè)原因。

(1)Node.js運(yùn)行在谷歌V8引擎上,提高了執(zhí)行時(shí)間,將函數(shù)編譯為原生機(jī)器碼,同時(shí)進(jìn)行低延遲的CPU和IO密集型操作。

(2)Node.js的事件驅(qū)動(dòng)架構(gòu)使其非常有利于開(kāi)發(fā)事件驅(qū)動(dòng)的應(yīng)用程序。

(3)Node.js庫(kù)支持非阻塞調(diào)用,無(wú)需等待前一個(gè)調(diào)用返回即可繼續(xù)工作。

(4)使用Node.js構(gòu)建的應(yīng)用程序是可擴(kuò)展的,這意味著執(zhí)行模型通過(guò)將請(qǐng)求分配給其他工作線程來(lái)支持?jǐn)U展。

既然已經(jīng)了解了選擇Node.js的主要原因,現(xiàn)在還應(yīng)該學(xué)習(xí)如何使用Node.js構(gòu)建微服務(wù)。

4.如何使用Node.js創(chuàng)建微服務(wù)

使用Node.js構(gòu)建微服務(wù)很容易,因?yàn)樗泻芏嗟暮锰帯R韵率侨绾螛?gòu)建微服務(wù)應(yīng)用程序的分步指南。

(1)第一步是是確定業(yè)務(wù)需求,這意味著開(kāi)發(fā)人員需要了解其服務(wù)對(duì)開(kāi)發(fā)微服務(wù)的需求。

(2)第二步是安裝Node.js到系統(tǒng)中,安裝Node Package Manager來(lái)安裝依賴項(xiàng)。可以從Node Source或Node.jssnaps中找到基于Ubuntu和Debian的兼容Node.js二進(jìn)制分發(fā)包。要管理這些分發(fā)包,將需要fnm:這是一個(gè)快速而簡(jiǎn)單的Node.js,它管理所有已發(fā)布的Node.js版本,并允許根據(jù)當(dāng)前使用的目錄自動(dòng)安裝、卸載和切換版本??梢允褂冒惭b腳本進(jìn)行安裝。

(3)下一步是搭建服務(wù)器并識(shí)別和分配路由,創(chuàng)建和插入控制器邏輯,并與外部服務(wù)建立連接。

(4)創(chuàng)建路由、控制器邏輯、建立連接后,下一步就是構(gòu)建外部API調(diào)用來(lái)處理第三方API。

為了說(shuō)明Node.js在微服務(wù)中的使用,將使用AccuWeather API服務(wù)。可以創(chuàng)建一個(gè)免費(fèi)的AccuWeather帳戶。

在系統(tǒng)上創(chuàng)建一個(gè)新文件夾,并將其命名為Accuweather-microservice并在代碼編輯器中打開(kāi)它,確保系統(tǒng)已預(yù)裝節(jié)點(diǎn)。通過(guò)運(yùn)行以下命令:node -v

如果沒(méi)有安裝,可以到Node.js官網(wǎng)下載。在Accuweather-microservice中,運(yùn)行命令初始化package.json:Run npm init or npm init -y

使用npminit,可以自定義字段以使用npminit-y創(chuàng)建package.json文件;可以使用默認(rèn)字段來(lái)創(chuàng)建package.json文件。

現(xiàn)在要安裝所有必需的依賴項(xiàng),需要運(yùn)行以下命令:run npm install Express nodemon request

執(zhí)行上述步驟后,其文件將類似于以下代碼:

{
 "name": "Accuweather-microservice",
 "version": "0.1.0",
 "private": true,
 "description": "Build a microservice using nodejs with AccuWeather Data Service",
 "main": "index.js",
 "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1",
   "start": "node app.js",
   "dev": "nodemon app.js"
 },
 "author": "",
 "license": "ISC",
 "dependencies": {
   "bcryptjs": "^2.4.3",
    "cookie-parser": "^1.4.6",

(5)在創(chuàng)建package.json文件之后,需要?jiǎng)?chuàng)建一個(gè)index.js文件作為應(yīng)用程序的主文件,并在Accuweather-microservice文件夾中創(chuàng)建一個(gè)名為api_source的文件夾,其中包含要處理的控制器和路由要求。

(6)現(xiàn)在,可以在主文件夾中創(chuàng)建一個(gè)服務(wù)文件夾,以構(gòu)建一個(gè)與外部API連接并處理請(qǐng)求/響應(yīng)的weather.js文件。

(7)現(xiàn)在最后一步是執(zhí)行,此時(shí)應(yīng)用程序已準(zhǔn)備好運(yùn)行。

上述步驟只是使用Node.js構(gòu)建微服務(wù)應(yīng)用程序的一個(gè)簡(jiǎn)短過(guò)程,它將幫助完成項(xiàng)目。

既然了解了微服務(wù)、它們的好處以及如何使用Node.js構(gòu)建它們,接下來(lái)可以做的就是開(kāi)始處理項(xiàng)目。盡管不了解微服務(wù)可能會(huì)讓人感到困惑,但在適當(dāng)?shù)闹笇?dǎo)下,一定能夠開(kāi)發(fā)出可擴(kuò)展和一流的應(yīng)用程序。

到此這篇關(guān)于使用Node.js構(gòu)建微服務(wù)的文章就介紹到這了,更多相關(guān)Node.js構(gòu)建微服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論