本發明專利技術涉及一種基于Docker容器的網絡負載均衡系統及其搭建方法、工作方法。采用Docker容器技術作為本系統的基礎技術,利用Docker容器節約硬件資源能在一臺服務器主機中創建大量容器的特點,在一臺服務器主機上實現整套網絡負載均衡系統;利用Docker容器能通過鏡像秒級創建,并且通過鏡像創建的容器能保證完全相同的特點,實現通過容器鏡像方便快捷的添加Web服務器進行訪問量或數據流的分流。既能節約系統實現成本,又能高效的解決訪問量或數據流增大原系統無法承受的情況。
【技術實現步驟摘要】
一種基于Docker容器的網絡負載均衡系統及其搭建方法、工作方法
本專利技術涉及一種基于Docker容器的網絡負載均衡系統及其搭建方法、工作方法,屬于云計算虛擬化領域。
技術介紹
云計算技術是IT產業界的一場技術革命,它能夠按需部署計算資源。從本質上講,云計算是指用戶終端通過遠程連接獲取存儲、計算、數據庫等計算資源。虛擬化技術是云計算技術的核心組成之一,是將各種計算及存儲資源充分整合和高效利用的關鍵技術,包括服務器虛擬化和桌面虛擬化。Docker作為新興的輕量級虛擬化技術,與傳統的VM相比,它更輕量,啟動速度更快,單臺硬件上可同時跑成百上千個容器,所以非常適合在業務高峰期通過啟動大量容器進行橫向擴展。網絡負載均衡技術是利用一定的分配策略將網絡負載平衡地分攤到網絡集群的各個操作單元上,使得單個重負載任務能夠分擔到多個單元上并行處理,或者使得大量并發訪問或數據流分擔到多個單元上分別處理,從而減少用戶的等待響應時間。目前的網絡負載均衡系統是由多臺服務器主機以對稱的方式組成一個服務器集合,每臺服務器都具有等價的地位,外部發送的訪問請求通過一系列算法被分配到每臺服務器主機上的Web服務器中。目前市面上這些技術普遍存在如下問題:1)多臺服務器主機成本高:傳統技術的后臺Web服務器集合由多臺服務器主機組成,每臺服務器主機價格不低,對于小型企業實現網絡負載均衡系統成本過高。2)服務器主機資源浪費:傳統技術是把每臺服務器主機當作一個后臺服務器,服務器主機的硬件資源除了作為后臺Web服務器的部分,其他空閑部分將會造成資源的浪費。3)添加服務器主機工作量大:當網站訪問量增大需要添加服務器主機時,傳統技術存在因為添加的服務器主機配置型號不能與舊服務器完全一致,在添加服務器主機后會需要修改算法。
技術實現思路
針對現有技術的不足,本專利技術提供了一種基于Docker容器的網絡負載均衡系統;本專利技術還提供了上述網絡負載均衡系統的搭建方法、工作方法;本專利技術利用Docker的容器化技術,在一臺服務器主機上同時搭載一個負載均衡器和多臺后臺Web服務器。本專利技術的改進主要體現在兩個方面:一是整個系統可以在一臺服務器主機上實現,不需要用多臺服務器主機組成后臺服務器集合,節省成本;二是整臺服務器主機的硬件資源都用于負載均衡器和Web服務器的運行,盡量做到了用多少拿多少;三是添加的每個Web服務器都產生于同一個鏡像,能做到配置型號完全一致。本專利技術的技術方案為:一種基于Docker容器的網絡負載均衡系統,包括一臺服務器主機、一個反向代理服務器及若干臺后臺Web服務器。根據本專利技術優選的,所述反向代理服務器用于接受Internet上的連接請求,將請求轉發給內部網絡上的后臺Web服務器,并將從后臺Web服務器上得到的結果返回給Internet上請求連接的客戶端。服務器主機作為整個系統的硬件基礎,需要擁有較高處理能力、穩定性、可靠性等方面要求。后臺Web服務器指網站服務器,是駐留于因特網上某種類型計算機的程序,可以向瀏覽器等Web客戶端提供文檔,也可以放置網站文件,讓全世界瀏覽;可以放置數據文件,讓全世界下載。根據本專利技術優選的,所述服務器主機為DELLPowerEdgeR730服務器,所述反向代理服務器是指Nginx服務器,所述后臺Web服務器是指Apache服務器。DELLPowerEdgeR730服務器,配置為48核CPU、96G內存、8TB本地硬盤;Nginx服務器作為一個輕量級、高性能的Webserver,其配置靈活多樣,可在配置負載均衡的同時合理地融合其他功能,形成一套可以滿足實際需求的配置方案;Apache服務器是世界使用排名第一的Web服務器軟件,簡單、速度快、性能穩定,并且很好的支持PHP語言(目前Web開發最主流的語言)。上述網絡負載均衡系統的搭建方法,具體步驟包括:(1)準備宿主機,宿主機選擇一臺服務器主機即可,安裝Ubuntu14.04操作系統;Ubuntu14.04作為支持Docker的Linux操作系統中相對穩定的版本,可以用命令行直接安裝配置Docker環境;(2)選擇后臺Web服務器,在其根目錄下建立Docker容器所需的主文件夾,主文件夾包括兩項:一項為構建Docker容器鏡像的Dockerfile文件,作為鏡像的模板,方便遷移;另一項為能夠掛載的文件夾;用于存放網頁代碼,并能隨時更新;(3)編寫所述Dockerfile文件,所述Dockerfile文件包括Docker容器需要的操作系統、Docker容器需要的軟件及其環境變量、Docker容器要暴露的端口號、新創建的文件夾;Docker容器需要的操作系統為Ubuntu14.04版本的操作系統;Docker容器需要的軟件包括Apache服務器、編程環境,編程環境為PHP編程環境、Java編程環境或ASP編程環境;新創建的文件夾用于掛載步驟(2)所述的能夠掛載的文件夾;(4)把需要通過負載均衡來平衡訪問量或流量的網頁代碼放在步驟(2)創建的所述能夠掛載的文件夾;(5)用Dockerfile文件構建Docker容器鏡像;(6)以步驟(5)創建的Docker容器鏡像為模板,創建Docker容器,并連接宿主機的端口與Docker容器要暴露的端口,并將步驟(2)創建的能夠掛載的文件夾掛載到步驟(3)新創建的文件夾上;(7)重復步驟(6),按需求創建多個Docker容器;(8)在宿主機中安裝Nginx服務器作為反向代理服務器,并修改其default文件,使其能支持PHP、Java或ASP語言寫的網頁代碼;(9)在宿主機中安裝配置PHP編程環境、Java編程環境或ASP編程環境;(10)修改Nginx服務器的nginx.conf文件,在其中添加負載均衡的配置的代碼,平衡訪問量或流量。其中,Nginx服務器原有輪詢、加權輪詢、ip_hash、fair、url_hash這五種基本的配置方式,同時Nginx還支持其他根據需求編寫的負載均衡算法。上述網絡負載均衡系統的工作方法,具體步驟包括:A、用戶通過域名或IP地址訪問網絡負載均衡系統搭載的網站時,訪問請求會先到達服務器主機中的反向代理服務器;B、反向代理服務器將訪問請求分配給各個容器中的后臺Web服務器,降低了每臺Web服務器的負載,平衡訪問量或流量。本專利技術的有益效果為:1、本專利技術在使用一臺服務器主機的情況下能搭建起網絡負載均衡的整個系統,在訪問網頁時,訪問量或數據流會按算法被分配到每個容器的Apache服務器中,實現網絡的負載均衡。2、本專利技術在訪問量或流量過大,需要添加新的Apache服務器來進行分流時,可直接使用鏡像快速創建容器,容器的配置與之前創建的完全相同,只需把這臺容器的地址添加到負載均衡配置代碼中即可,實現快速的增加網絡負載均衡系統的規模。附圖說明圖1為本專利技術一種基于Docker容器的網絡負載均衡系統的結構框圖。具體實施方式下面結合說明書附圖和實施例對本專利技術作進一步限定,但不限于此。實施例1一種基于Docker容器的網絡負載均衡系統,如圖1所示,包括一臺服務器主機、一個反向代理服務器及若干臺后臺Web服務器。所述反向代理服務器用于接受Internet上的連接請求,將請求轉發給內部網絡上的后臺Web服務器,并將從后臺Web服務器上得本文檔來自技高網...

【技術保護點】
一種基于Docker容器的網絡負載均衡系統,其特征在于,包括一臺服務器主機、一個反向代理服務器及若干臺后臺Web服務器。
【技術特征摘要】
1.一種基于Docker容器的網絡負載均衡系統,其特征在于,包括一臺服務器主機、一個反向代理服務器及若干臺后臺Web服務器。2.根據權利要求1所述的一種基于Docker容器的網絡負載均衡系統,其特征在于,所述反向代理服務器用于接受Internet上的連接請求,將請求轉發給內部網絡上的后臺Web服務器,并將從后臺Web服務器上得到的結果返回給Internet上請求連接的客戶端。3.根據權利要求1所述的一種基于Docker容器的網絡負載均衡系統,其特征在于,所述服務器主機為DELLPowerEdgeR730服務器,所述反向代理服務器是指Nginx服務器,所述后臺Web服務器是指Apache服務器。4.權利要求1-3任一所述的網絡負載均衡系統的搭建方法,其特征在于,具體步驟包括:(1)準備宿主機,宿主機選擇一臺服務器主機即可,安裝Ubuntu14.04操作系統;(2)選擇后臺Web服務器,在其根目錄下建立Docker容器所需的主文件夾,主文件夾包括兩項:一項為構建Docker容器鏡像的Dockerfile文件;另一項為能夠掛載的文件夾;(3)編寫所述Dockerfile文件,所述Dockerfile文件包括Docker容器需要的操作系統、Docker容器需要的軟件及其環境變量、Docker容器要暴露的端口號、新創建的文件夾;Docker容器需要的操作系統為Ubuntu14.04版本的操...
【專利技術屬性】
技術研發人員:周曉天,魯洪寬,袁東風,
申請(專利權)人:山東大學,
類型:發明
國別省市:山東,37
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。