【知乎大V體驗鯤鵬】如何快速實現鯤鵬彈性云服務器的Node.js部署和高可用性?

      網友投稿 872 2025-03-31

      “Node 開發者容易面臨的前三大困惑分別是異步編程、事件驅動以及 Debug。同時,文檔是大家最期待的資源,新人對視頻教程和免費在線課程的呼聲最高。”這份《2020 年 Node.js 開發者調查報告》給出的信息,也正是當下很多開發者心中的疑惑。如何學習和進階Node.js?如何讓自己寫的代碼順滑無bug?如何才能找到易用和高可用的平臺呢?今天我來提點自己的拙見,看完覺得有用的老鐵希望直接三連(球球你們不要”下次一定“)。

      JavaScript相信大家都不陌生,尤其是對于前端工程師而言,更是必備技能。傳統意義上的 JavaScript 是運行在瀏覽器上的腳本語言。而Node.js 是一個運行在服務端的框架,它的底層使用了 V8 引擎。我們知道 Apache + PHP 以及 Java 的 Servlet 都可以用來開發動態網頁,Node.js 的作用與他們類似,只不過是使用 JavaScript 來開發。他提供了底層服務器功能環境,包括二進制數據操作、文件系統 I/O、數據庫訪問、網絡訪問等。它獨一無二的特性使其在現存的多種成熟服務器語言中脫穎而出。

      同樣聲名鵲起的還有華為云。近年來,華為云已經成為市場上的一股不容小覷的力量。尤其是前段時間,華為云鯤鵬生態帶著鋪天蓋地的宣傳橫空出現,對其的評論的風向也是花樣繁多,那么華為云鯤鵬彈性云服務器的表現究竟如何呢?本文將會帶大家親自感受一下在華為云鯤鵬彈性云服務器的 CentOS 系統上安裝、部署、測試 Node.js 項目,以及其高可用性的探索。

      話不多說,我們走起。

      Node.js部署環境配置全流程

      首先,輸入以下命令”LANG=en_us.UTF-8 ssh root@EIP“登陸華為云,需要使用華為云服務器 ECS 的公網 IP 替換命令中的 EIP

      一般本地服務器時可以直接獲取公網IP,那么在華為云鯤鵬彈性云服務器,如何獲取公網 IP 呢?而在云服務器中,彈性公網 IP 地址則可以通過點擊“控制臺”->“服務列表”->“計算”->“彈性云服務器 ECS”進入服務器列表,進行查看并復制。

      【知乎大V體驗鯤鵬】如何快速實現鯤鵬彈性云服務器的Node.js部署和高可用性?

      在登陸時需要注意的是,輸入密碼的時候終端是不會有展示的,所以一定要確保密碼是正確的。

      登陸成功后顯示的界面如下。

      然后就可以下載 node.js 安裝包了,執行下載命令

      解壓文件

      為 node 和 npm 建立軟連接,建立完軟連接后可以直接查看 node 和 npm 的版本,出現下圖即表示安裝成功。

      使用代碼如下:ln -s /root/node-v10.16.0-linux-arm64/bin/node /usr/local/bin/node

      ln -s /root/node-v10.16.0-linux-arm64/bin/npm /usr/local/bin/npm

      其實到這里Node.js服務器環境就已經部署完畢了,可以直接運行項目代碼 。但如果服務器上運行多個項目時,如果只安裝一個全局的node.js版本,則在升級時可能會遇到很多問題。所以我們需要使用 nvm 版本管理器安裝 node.js 多版本,這并不是一個必須的步驟,但是依然值得嘗試。

      首先,下載 NVM 版本管理器,并在終端中輸入以下命令

      git clone https://codehub.devcloud.cn-north-4.huaweicloud.com/Demo01087/nvm.git ~/.nvm && cd ~/.nvm

      然后激活 NVM 版本管理器,并將其追加到 profile 文件下

      echo ". ~/.nvm/nvm.sh" >> /etc/profile

      NVM修改完畢后,就可以安裝不同版本的node了,例如下圖安裝12.3.0的node包

      node安裝完畢后,就可以在服務器上運行腳本了。為了簡化流程,我選擇運行一個簡單的腳本,利用node起一個服務器,部署在3000端口上。

      服務器啟動后,要想外網能夠訪問還需要再控制臺配置下安全組規則。

      到這里node.js的部署環境配置實測就已經結束了。來展示一下我的成品。

      這次比較不按套路出牌,沒有“hello world”

      從前端語言到運維實踐

      在此次實踐中,我們可以簡單點評一下大鯤鵬帶給我的直觀的感知。首先,它對于新用戶的友好度是很高的,以Node.js的部署環境配置來看,云端實驗室中的鯤鵬實驗中配置了相關的實驗和ABC級別的指導教程,用戶可以根據指導一步步實現環境配置,即便是小白程序員也能輕松上手;代碼一鍵復制的功能對于并不熟悉linux命令的開發者而言也算是細致入微了。

      隨著競爭的加速,對于前后端的程序員都需要了解一些運維部署的知識,鯤鵬學院則提供了這樣一個方便大家學習的平臺。在這上面你能方便的獲得小白開發者、鯤鵬開發者的相關課程,并且在完成了各類課程的學習之后,可以通過各類微認證和職業認證,來檢驗自身的學習成果,并且還能通過官方認證還能獲取就業優先推薦機會,實用性這里必須加粗標紅。

      對于企業來說,把網站部署在云端能夠減少大量的運維負擔,充分利用華為云的基礎生態和平臺能力,可以減少建站部署的復雜程度,解放程序員雙手,讓大家不用禿頭改代碼收獲幸福人生;降低程序員和產品經理的掐架頻率。

      隨著網站用戶訪問量增大,系統服務很容易掛掉。例如微博突發熱搜,淘寶的雙十一等關鍵節點正是考驗我們服務器能力的時候。很多大公司都會自研彈性負載均衡系統,但是管理兩臺機器的復雜程度不是管理一臺機器的兩倍,甚至是8倍、10倍。這其中需要考慮防火墻、抗DDoS攻擊、監控報警、日志打點、數據同步等一系列問題,其實是一個很復雜的事情。因此,對于更多的企業站點使用云服務廠商提供的彈性負載均衡系統會更加的簡單便捷,節省成本。

      基于ELB和AS服務的高可用性解析

      隨著網站用戶訪問量增大,系統服務很容易掛掉。例如微博熱門事件,淘寶的雙十一等關鍵節點正是考驗我們服務器能力的時候。很多大公司都會自研彈性負載均衡系統,但是管理兩臺機器的復雜程度不是管理一臺機器的兩倍,甚至是8倍、10倍。這其中需要考慮防火墻、抗DDoS攻擊、監控報警、日志打點、數據同步等一系列問題,其實是一個很復雜的事情。所以,對于更多的企業站點使用云服務廠商提供的彈性負載均衡系統會更加的簡單便捷,節省成本。

      首先了解什么是高可用性,高可用性是系統一種特征或者指標,通常是指提供一定性能上的服務運行時間,高于平均正常時間段。反之,則消除系統服務不可用的時間。衡量系統是否滿足高可用,就是當一臺或者多臺服務器宕機的時候,系統整體和服務依然正常可用。

      舉個例子,一些知名的網站保證 4 個 9 以上的可用性,也就是可用性超過 99.99%。那 0.01% 就是所謂故障時間的百分比。比如一些金融和電商網站都會對這些指標有嚴格的要求。

      彈性伸縮服務能夠在秒殺、搶購等流量激增的情況下能夠確保服務器能夠動態擴容,滿足客戶的良好體驗。比如下單服務,當流量如潮水般涌過來的時候,ELB會根據算法動態的分配服務器資源,同時結合AS服務動態擴容服務器資源。

      負載均衡是分布式系統架構設計中必須考慮的因素之一。一般通過負載均衡,解決分布式系統的大流量、高并發和高可用的問題。

      那么在華為云鯤鵬彈性云服務器中,是如何保持高可用性的呢?其大體流程如下圖所示:

      1.???? 流量調度。ELB通過-檢查連接請求,跟進調度算法定義的轉發策略將請求流量分發至后端服務器,起到了交通指揮官的作用,但是他更加的智能。

      2.???? 健康檢查。判斷后端服務器的業務可用性,確保將請求發送到健康的的ECS上。如果發現服務有問題也會進行及時摘除。

      3.???? 會話保持。將一段時間內來自同一用戶的請求轉發到相同的后端服務器,保障用戶訪問的連續性。

      4.???? 彈性伸縮。可以根據訪問量自動擴展,保障業務靈活可用。例如上圖中提到的利用定時/周期策略觸發伸縮,當cpu/內存/入網流量等監控指標達到警告閥門也會觸發伸縮。

      搭產業順風車,走開發快速道

      開發產業的一個典型特征就是活到老、學到老,五年前的JavaScript和現在相比堪稱天壤之別。研讀Node.js 使用報告,發現 Node.js 的使用有許多的成長,而且,五年前的瀏覽器環境和現在的Node環境全然不同。在云時代,越來越多的語言創造了更多可能,也讓開發變得更加便捷。就像此次測試中,基于JavaScript、Python、Java等解釋型語言開發的應用程序,其與CPU架構并無相關,因此將這類應用程序移植到華為云鯤鵬彈性云服務器上之后,無需修改和重新編譯,都可以按照與x86一致的方式部署和運行應用程序即可,對開發者的幫助是顯而易見的。

      語言的升級帶來了便捷,也帶來了一些新的趨勢,越來越多企業將主體業務放到云端,越來越多的前端工程師關心并參與到后端和全棧的工作中去。開發需求升級,各類開發者社區也便跟著升級,而華為云鯤鵬社區便是一個這樣的平臺,其能夠提供的技術能力不僅能夠解決企業業務需求,還能快速賦能開發者,實現快速成長。開發者能方便的找到適合自己能力的相關開發課程來進行學習,學會使用這些更加高效的產品,讓自己的價值不斷上升,避免出現網傳“35歲被扼頸”的窘迫局面。

      更為可觀的是,前端工程師遠非云計算浪潮中最大的受益者。合理使用云服務器帶來的ELB、AS等能力,能夠讓運維工程師從繁雜的工作中解脫出來,專注于系統的優化。目前,包括華為云在內的很多云服務能夠提供大量的基礎功能和運維工具,這些能力能夠讓自己脫離機械式編程工作,而是在不斷的探索中發現更多高效、實用的工具,基于新的技術環境上實現適配性升級,避免頻繁的重復造輪子,而是搭乘軟件行業的順風車,走上真正的開發快速道。

      鯤鵬開發者系列課程傳送門在此,良心知識不付費,參與回帖互動還有獎品拿,吐槽建議都闊以:?http://suo.im/5t3Vgt

      (圖片來源網絡,侵刪)

      鯤鵬 JavaScript Node.js

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:以“趨勢·創新”為主題的“世強硬創峰會”,這場硬創峰會干貨滿滿!
      下一篇:excel表格版本如何轉換(Excel怎么轉換版本)
      相關文章
      国产精品亚洲а∨无码播放不卡 | 亚洲精品在线播放视频| 亚洲成A人片在线观看无码3D | 亚洲中文字幕无码专区| 豆国产96在线|亚洲| 亚洲欧美成人综合久久久| 亚洲中文字幕无码av永久| 亚洲午夜国产精品| 久久久亚洲裙底偷窥综合| 亚洲高清无在码在线无弹窗| 久久亚洲AV成人无码电影| 亚洲综合久久久久久中文字幕| 亚洲日韩图片专区第1页| 久久精品国产精品亚洲艾| 亚洲AV日韩AV天堂久久| 亚洲欧洲在线观看| 亚洲精品免费在线视频| 亚洲人成人77777在线播放| 亚洲乱码一二三四区麻豆| 国产成人精品日本亚洲专| 亚洲天然素人无码专区| 亚洲爆乳成av人在线视菜奈实| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲AV日韩综合一区| 亚洲äv永久无码精品天堂久久 | 亚洲五月丁香综合视频| 亚洲中文字幕久久精品蜜桃| 亚洲国产欧美一区二区三区| 国产亚洲福利精品一区二区| 国产亚洲精品第一综合| 亚洲一区二区视频在线观看| 亚洲欧洲∨国产一区二区三区| 国产精品久久久亚洲| 97久久精品亚洲中文字幕无码 | 亚洲人成色7777在线观看不卡| 国产亚洲成人久久| 久久综合九九亚洲一区| 亚洲啪啪免费视频| 亚洲国产成人精品无码区花野真一| 国产偷国产偷亚洲高清在线| 亚洲综合无码精品一区二区三区|