0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
會(huì )員中心
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示

如何把HPE RL300服務(wù)器引入x86-only的Web服務(wù)部署?

安晟培半導體 ? 來(lái)源:安晟培半導體 ? 2024-03-20 10:26 ? 次閱讀

在上一篇《技術(shù)文章 | 多架構部署:優(yōu)勢有哪些?》中,我們主要介紹了多架構部署在能耗、占地空間和性能方面帶來(lái)的諸多優(yōu)勢。本文將介紹如何把 HPE RL300 服務(wù)器引入 x86-only 的 Web 服務(wù)部署,并使用直接遷移的方法,將部分應用程序遷移到該服務(wù)器。由于大多數現代的 Web 應用程序都采用基于微服務(wù)的架構,因此單獨遷移單個(gè)微服務(wù)至新型的 Arm 服務(wù)器會(huì )更為簡(jiǎn)便,無(wú)需將整個(gè)應用程序遷移至 arm64。

接下來(lái),我們將以前端微服務(wù)作為多架構部署的一個(gè)實(shí)際用例。NGINX 是一款應用廣泛的 Web 服務(wù)器,適用于網(wǎng)上銀行、社交網(wǎng)絡(luò )、電子商務(wù)等多種 Web 應用,以及多個(gè)并發(fā)用戶(hù)在既定網(wǎng)站內瀏覽不同應用程序的場(chǎng)景。下面,本文將詳細介紹如何使用 NGINX 將此類(lèi)流行的 Web 服務(wù)器擴展至 HPE RL300 服務(wù)器。

同時(shí),我們還使用橫向擴展(scale-out)的復合 Web 服務(wù)評估案例研究的結果,并計算了將前端 NGINX 層遷移到 HPE RL300 服務(wù)器所帶來(lái)的益處。根據性能和每瓦性能數據的對比,把 NGINX 從某款 x86 處理器遷移到 Ampere Altra Max 處理器后,可節省多達 1/3 的機架空間,并降低 1/3 的功耗。此外,當整個(gè) Web 服務(wù)繼續在多體系結構部署中運行時(shí),其余的應用層仍在 x86 服務(wù)器上保持原狀,且性能不受任何影響。

先決條件

為了實(shí)施基于 x86 和 arm64 服務(wù)器的多架構部署,至少需要兩臺安裝了 Web 服務(wù)器軟件(NGINX)的服務(wù)器。其中,一臺采用 x86 處理器,以下稱(chēng)為“主機 1”;另一臺則是搭載了 Ampere Altra Max 處理器的 HPE ProLiant RL300 服務(wù)器,以下稱(chēng)為“主機 2”。

當然,用戶(hù)也可以選擇在某個(gè)特定服務(wù)器上運行多個(gè)虛擬機或容器,而不使用整機。

安裝 NGINX Web 服務(wù)器

為了向用戶(hù)展示應用程序的網(wǎng)頁(yè)內容,需要選用高性能的 Web 服務(wù)器 NGINX 作為應用程序的前端。根據操作系統的不同,可以選擇 YUM 或 APT 包管理工具進(jìn)行軟件安裝。

sudo yum -y update
sudo yum install ca-certificates
sudo yum -y install nginx

首先,在 x86 服務(wù)器(主機 1)上部署 NGINX,并使其能連接到 NGINX。如果您已經(jīng)啟用了防火墻,則請確保允許常規 HTTP 流量通過(guò)端口 80,8080;如果您配置了 SSL,則還需允許 HTTPS 流量通過(guò)端口 443 。

啟動(dòng) NGINX 并驗證狀態(tài),請運行以下代碼:

sudo systemctl start nginx
sudo systemctl status nginx

通過(guò) Web 瀏覽器連接到主機 1 的 IP 地址或主機名。如果您看到的是 NGINX 默認登陸頁(yè)面,說(shuō)明您已成功安裝了 NGINX,并啟用了 Web 服務(wù)器的 HTTP 流量。

58096d84-e65d-11ee-a297-92fbcf53809c.png

將 NGINX 配置為負載均衡器

在大規模集群部署中,可以使用多臺服務(wù)器托管 Web 應用程序的前端服務(wù)。負載均衡能夠帶來(lái)諸多好處,比如能夠實(shí)現應用程序的跨服務(wù)器擴展,提升程序性能,優(yōu)化用戶(hù)體驗,以及增強冗余性。

NGINX 憑借其簡(jiǎn)潔而強大的特性,可作為負載均衡器,有效提升服務(wù)器資源的利用率和運行效率。您只需按照指令配置 NGINX,指定其監聽(tīng)連接的位置以及重定向的目標,即可實(shí)現負載均衡。

為了配置負載均衡,需要修改 NGINX 配置文件。默認情況下,該文件名為 **nginx.conf**,并放置在 **/etc/nginx** 目錄下。然而,具體的位置可能會(huì )根據安裝 NGINX 時(shí)所使用的軟件包管理系統和操作系統而定。

在 x86 服務(wù)器(主機 1)上,需要編輯 NGINX 配置文件,并定義 upstream 和 server 兩個(gè)模塊,具體操作如下:

# Define which servers to include in the load balancing scheme. 
http {
  upstream backend {
   server host1:8080; 
  }


  # This server accepts all traffic to port 80 and passes it to the upstream. 
  # Notice that the upstream name and the proxy_pass need to match.
  server {
   listen 80; 
   
   location / {
     proxy_pass http://backend;
   }
  }
  # Use port 8080 for the web server configuration
  server {
   listen 8080; 
  }
}

要為 HTTPS 而不是 HTTP 配置負載均衡,只需使用"https"作為協(xié)議,然后使用以下命令重新啟動(dòng) NGINX。

sudo systemctl restart nginx

檢查 NGINX 是否成功重啟。當您在網(wǎng)絡(luò )瀏覽器中輸入負載均衡器的公共 IP 地址時(shí),它會(huì )將請求傳遞給主機 1 上的后端服務(wù)器。

添加 RL300 以創(chuàng )建多架構部署

接下來(lái),我們將在 HPE RL300 服務(wù)器(主機 2)上運行一個(gè)新的 NGINX 實(shí)例,以擴展前端部署。首先,使用上文“安裝 NGINX Web 服務(wù)器”部分所述的相同方法,在 RL300 服務(wù)器上安裝 NGINX。開(kāi)源的 NGINX 軟件包在 x86 和 arm64 服務(wù)器上都運行良好。為了獲得 NGINX 的最佳性能,Ampere 提供了一些優(yōu)化建議。此外,我們還為提供了針對 arm64 做源代碼編譯和構建 NGINX 的高效指南。

下一步,需要在服務(wù)器(主機 2)上配置 NGINX。我們不會(huì )將它配置為負載均衡器,服務(wù)器部分使用默認的 nginx.conf,端口為 8080。主機 2 上的 nginx.conf 文件將不包含 upstream 模塊,Server 模塊如下所示:

http {
  
  # This server accepts all traffic to port 8080 a
  server {
   listen 8080; 
  }
}

安裝完成后,啟動(dòng) NGINX 服務(wù),并確保您可以通過(guò) web 服務(wù)器上的主機 2 IP 地址訪(fǎng)問(wèn) NGINX 默認登陸頁(yè)面。

接下來(lái),更新主機 1 上的 NGINX 負載均衡器服務(wù),將新的 RL300 納入 NGINX 負載均衡器配置。編輯主機 1 上的 nginx.conf 文件,在 upstream 模塊添加主機 2 的 IP 地址。

# Define which servers to include in the load balancing scheme. 
# It's best to use the servers' private IPs for better performance and security.
# Add the ip address for RL300 to the upstream.
http {
  upstream backend {
   server host1:8080; 
   server host2:8080;
  }


  # This loadbalancer accepts all traffic to port 80 and passes it to the upstream. 
  # Notice that the upstream name and the proxy_pass need to match.


  server {
   listen 80; 
   location / {
     proxy_pass http://backend;
   }
  }
  server {
   listen 8080; 




  }
}

使用以下命令重啟 NGINX

sudo systemctl restart nginx

現在,當您訪(fǎng)問(wèn)負載均衡器的 IP 地址時(shí),它都會(huì )按照循環(huán)的方式將請求分發(fā)到 upstream 模塊中配置的兩個(gè)服務(wù)器上。至此,NGINX 的多架構部署已完成,用戶(hù)流量被分發(fā)到運行在 x86 和 arm64 服務(wù)器上的 NGINX 實(shí)例中。

將復合 Web 應用程序的前端(NGINX)

遷移到異構集群的優(yōu)勢

為了深入了解將 NGINX 等服務(wù)遷移到 Ampere Altra 處理器的優(yōu)勢,我們對一個(gè)由四層微服務(wù)組成的復合 web 服務(wù)進(jìn)行了擴展的分析。這四層分別為:Web 前端(NGINX)、鍵值存儲(REDIS)、對象緩存(Memcached)以及后端數據庫(MySQL)。我們按照整個(gè)服務(wù)的百分比,為每層所選的應用程序分配了不同的權重。在我們的示例中,我們將負載設定為每秒 130 萬(wàn)個(gè)請求,這些請求由服務(wù)的前端層接收,并由作為 HTTPS 服務(wù)器的 NGINX 進(jìn)行處理。隨后,我們根據各層組件的權重設定了相應的總性能水平,以此確定加權四層 web 服務(wù)模型的整體負載。

以下圖表對比了運行在某 x86 服務(wù)器上的復合四層 web 服務(wù)及其所有組件微服務(wù),以及基于 Ampere arm64 的混合架構部署。在混合架構場(chǎng)景中,web 服務(wù)前端(NGINX)組件遷移到了 Ampere Altra Max 云原生處理器,但其它三個(gè)組件微服務(wù)仍在某 x86 服務(wù)器上運行。結果顯示,即使僅將 web 服務(wù)的單一組件(NGINX)遷移到 Ampere Altra Max 云原生處理器,也能顯著(zhù)減少所需服務(wù)器的總量,同時(shí)降低維持相同性能(以每秒請求數衡量)所需的整體功耗。

584db494-e65d-11ee-a297-92fbcf53809c.png

在數據中心里,若每機架最大功耗預算為 12.8 千瓦,將 NGINX 轉換為 Ampere Altra Max 云原生處理器后,所節省的功耗足以將機架占用空間從 3 個(gè)(總功耗預算 38.4 千瓦)減少到 2 個(gè)(總功耗 25.6 千瓦)。

5862d6b2-e65d-11ee-a297-92fbcf53809c.png

總體而言,采用基于 Arm 架構的 HPE ProLiant RL300 服務(wù)器進(jìn)行多架構部署的益處顯而易見(jiàn)。對于像 NGINX 這樣的微服務(wù),使用容器化鏡像進(jìn)行代碼遷移的過(guò)程簡(jiǎn)單直接。通過(guò)負載均衡和反向代理等功能,可以輕松地在不同服務(wù)器上以混合架構(包括 x86 和 arm64)部署和運行應用程序的多個(gè)實(shí)例。此外,將關(guān)鍵工作負載遷移到 Ampere Altra Max 云原生處理器上,不僅能顯著(zhù)降低能耗和減少數據中心占地面積,還能保證應用程序性能不受影響。




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權轉載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習之用,如有內容侵權或者其他違規問(wèn)題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18564

    瀏覽量

    224113
  • 操作系統
    +關(guān)注

    關(guān)注

    37

    文章

    6376

    瀏覽量

    122209
  • 虛擬機
    +關(guān)注

    關(guān)注

    1

    文章

    868

    瀏覽量

    27558
  • HTTP接口
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    1666
  • 負載均衡器
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    2557

原文標題:技術(shù)文章 | 多架構部署:如何將 NGINX 前端遷移至 HPE ProLiant RL300?

文章出處:【微信號:AmpereComputing,微信公眾號:安晟培半導體】歡迎添加關(guān)注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    寶界科技WEB服務(wù)器立體防御解決方案

    利用腳本實(shí)施注入式攻擊 跨平臺全系列支持操作系統:支持Windows、Linux、UnixWeb服務(wù)器:支持IIS、Apache、J2EE 三、 寶界網(wǎng)站防篡改WEB應用防火墻系統網(wǎng)絡(luò )部署拓撲圖網(wǎng)絡(luò )層
    發(fā)表于 05-17 14:01

    寶界科技WEB服務(wù)器立體防御解決方案

    利用腳本實(shí)施注入式攻擊 跨平臺全系列支持操作系統:支持Windows、Linux、UnixWeb服務(wù)器:支持IIS、Apache、J2EE 三、 寶界網(wǎng)站防篡改WEB應用防火墻系統網(wǎng)絡(luò )部署拓撲圖網(wǎng)絡(luò )層
    發(fā)表于 08-19 11:02

    Labview與Web(二)---------------Web 服務(wù)器(原創(chuàng ))

    本帖最后由 歡樂(lè )的小周 于 2015-4-20 23:13 編輯 Web 服務(wù)器不知道為什么關(guān)于web服務(wù)器的教程這么少,總結一下這幾天來(lái)學(xué)習的經(jīng)驗,小弟才疏學(xué)淺,有哪些不對的地
    發(fā)表于 04-20 18:14

    Labview與Web(二)---------------Web 服務(wù)器(原創(chuàng ))

    Web 服務(wù)器不知道為什么關(guān)于web服務(wù)器的教程這么少,總結一下這幾天來(lái)學(xué)習的經(jīng)驗,小弟才疏學(xué)淺,有哪些不對的地方,需要改進(jìn),還請告知,謝謝。版本:labview 2014/2013
    發(fā)表于 04-20 18:15

    labview Web服務(wù)器如何啟動(dòng)?

    labview利用web服務(wù)器發(fā)布網(wǎng)頁(yè)時(shí),想在瀏覽中預覽時(shí)無(wú)法啟動(dòng)web服務(wù)器。
    發(fā)表于 04-12 07:59

    基于Linux的WEB服務(wù)器增加了哪些功能?

    嵌入式 WEB服務(wù)器的主要設計思想就是將嵌入式系統和 WEB技術(shù)結合起來(lái),將 WEB技術(shù)引入到現場(chǎng)測量和控制設備中,從而實(shí)現基于嵌入式
    發(fā)表于 09-03 06:13

    服務(wù)器部署記錄

    記錄一下最近部署服務(wù)器的相關(guān)配置(常用的linuxcentos配置)
    發(fā)表于 10-24 14:32

    WEB服務(wù)器問(wèn)題求助

    如圖片所示,工具--選項--WEB服務(wù)器,打開(kāi)后這樣的,是什么原因?是缺少了什么插件么?還是安裝軟件的時(shí)候沒(méi)安裝好?謝謝!
    發(fā)表于 02-29 22:01

    大型機、小型機、x86服務(wù)器的區別 精選資料分享

    大型機、小型機、x86服務(wù)器的區別  首先來(lái)講x86服務(wù)器,與平常人們所接觸的臺式機筆記本類(lèi)似,采用CISC架構處理。隨著(zhù)英特爾至強處理
    發(fā)表于 07-28 06:19

    Tomcat服務(wù)器簡(jiǎn)介

    簡(jiǎn)介簡(jiǎn)介T(mén)omcat服務(wù)器是一個(gè)開(kāi)放源碼的輕量級Web應用服務(wù)器,非常適合搭建微服務(wù)應用。Embedded Tomcat嵌入式Tomcat服務(wù)器
    發(fā)表于 12-16 08:24

    如何在web服務(wù)器的基礎上加一個(gè)DNS服務(wù)器

    簡(jiǎn)介參考一中已經(jīng)原理講的很簡(jiǎn)單,這里不在贅述,大體意思就是在web服務(wù)器的基礎上加上一個(gè)DNS服務(wù)器。參考二中的wifi有時(shí)連接不穩定、而且需要自己打開(kāi)瀏覽
    發(fā)表于 02-10 06:52

    基于Linux的WEB服務(wù)器的設計與實(shí)現

    基于Linux的WEB服務(wù)器的設計與實(shí)現 嵌入式WEB服務(wù)器的主要設計思想就是將嵌入式系統和 WEB技術(shù)結合起來(lái),將
    發(fā)表于 10-06 08:30 ?2965次閱讀
    基于Linux的<b class='flag-5'>WEB</b><b class='flag-5'>服務(wù)器</b>的設計與實(shí)現

    如何辨別Web服務(wù)器,應用程序服務(wù)器,HTTP服務(wù)器

    強大的J2EE功能,毫無(wú)疑問(wèn)是絕對的應用服務(wù)器。對于處于中間位置的Tomcat,它可以配合純Web服務(wù)器Apache一起使用,也可以作為應用服務(wù)器的輔助與應用
    發(fā)表于 11-10 14:28 ?983次閱讀

    服務(wù)器如何部署web項目,一起來(lái)看看吧

    我們在購買(mǎi)了云服務(wù)器后怎么使用?是當個(gè)網(wǎng)絡(luò )U盤(pán)存儲文件,還是用來(lái)搭建網(wǎng)站,提供網(wǎng)路服務(wù)?其實(shí)是都可以的,不過(guò)更多的用途是用于作為網(wǎng)站的服務(wù)器來(lái)使用,那如何在云服務(wù)器
    的頭像 發(fā)表于 07-07 17:21 ?7416次閱讀

    HPE正式發(fā)布搭載Ampere云原生處理器的HPE ProLiant RL300 Gen11平臺

    RL300 Gen11 平臺。這標志著(zhù) HPE 的全球客戶(hù)現在可以使用全球首款云原生處理器,該處理器可為各種應用提供行業(yè)領(lǐng)先的性能和卓越的能效。
    的頭像 發(fā)表于 07-13 11:40 ?1904次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看