[發明專利]一種Web應用的部署方法和裝置在審
| 申請號: | 201710618053.3 | 申請日: | 2017-07-26 |
| 公開(公告)號: | CN107370816A | 公開(公告)日: | 2017-11-21 |
| 發明(設計)人: | 高峰 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F9/50 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 李紅爽,李丹 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 web 應用 部署 方法 裝置 | ||
技術領域
背景技術
隨著計算機技術和互聯網的快速發展,互聯網的使用者越來越多,應用的使用越來越頻繁。在服務端的單個應用已經無法滿足大部分應用場景,在這種背景下,大規模的集群應用部署越來越流行,將不同的請求發送到不同的應用程序上進行處理,可以減輕單個應用的負載,提高整體系統的穩定性和可用性。但用戶的訪問習慣,造成應用的負載并不是一成不變的,比如在白天的訪問量會大幅高于凌晨的訪問量。在某些特定場景,比如京東618,雙11這種集中購物的場景下,web應用的集中訪問量會大幅度提升,此時需要的應用負載也需要大幅提升。但應用的提升也會造成資源的占用,一直開啟應用也會造成資源的浪費,因此,如何對應用擴展,如何提高整體系統的資源利用率成了需要解決的問題。
傳統的運維情況下,需要應用擴展時,首先要手動復制應用,分配資源,切換流量,在應用使用完畢后,又要反向進行回收操作。如果應用的數量比較大,這就是一項繁瑣又非常耗時的過程。不僅會造成不必要的錯誤,也會使部分應用暫時的停止服務。大規模的應用部署在一臺主機上,還會造成應用間的互相影響,資源的搶占等問題。
發明內容
為了解決上述技術問題,本發明實施例提供了一種Web應用的部署方法和裝置,利用基于Docker的web應用彈性擴展達到提高整個系統的資源利用率的目的。
為了達到本發明目的,一方面,本發明實施例提供了一種Web應用的部署方法,包括:
將Web應用部署在Docker容器中;
對所述Docker容器的資源使用情況進行監控;
根據監控結果對所述Docker容器中的Web應用進行擴展或回收。
本發明實施例通過將應用部署在Docker容器中,監控Docker容器的整體資源利用率,彈性的擴展或者回收應用,避免了人工操作的低效率,也避免了人工操作可能造成的錯誤。提高了系統的反應速度,使用Docker提高了資源的隔離性,降低了應用間的干擾,從而大幅度提高了資源的利用率。
進一步地,所述資源包括中央處理器CPU使用率。
進一步地,所述將Web應用部署在Docker容器中包括:
將需要部署的應用程序打包,生成相應的應用容器引擎Docker模板;
使用Docker模板進行docker實例的部署。
進一步地,在將Web應用部署在Docker容器中之后,還包括:
在所述Docker容器之上增加一個反向代理服務器Nginx,根據預先配置在所述Nginx服務器中的所述預設策略對Web流量進行分發,將不同的流量分發到不同的Docker容器之上,以實現負載均衡。
進一步地,在根據預先配置在所述Nginx服務器中的所述預設策略對Web流量進行分發之前,還包括:還包括:
啟動所述Nginx服務器,在所述Nginx服務器里配置所述應用實例的流量分發策略;
注冊已經啟動的應用到所述Nginx服務器中,熱啟動所述Nginx服務器,使所述應用實例的流量分發策略實時生效。
進一步地,所述對所述Docker容器的資源使用情況進行監控包括:使用cAdvisor對所述Docker容器的CPU使用率進行監控。
進一步地,所述根據監控結果對所述Docker容器中的Web應用進行擴展或回收包括:
當通過所述cAdvisor監控到所述Docker容器的CPU使用率不足時,進行應用擴展,當通過所述cAdvisor監控到所述Docker容器的CPU使用率充足時,進行應用的回收。
進一步地,所述方法還包括:
使用多元時間段線性計算對所述Docker容器未來的CPU使用率進行預測,根據預測結果實時調整所述Docker容器中的Web應用的部署情況。
進一步地,所述根據預測結果實時調整所述Docker容器中的Web應用的部署情況還包括:
當預測到下個預設時間段內整體CPU使用率大于或等于預設的最高使用率閾值時,增加部署一個或多個Docker容器,注冊流量到Nginx服務;
當預測到下個預設時間段內整體CPU使用率小于或等于預設的最低使用率閾值時,回收部署的一個或多個Docker容器,解綁Nginx服務。
另一方面,本發明實施例還提供了一種Web應用的部署裝置,包括:
部署模塊,用于將Web應用部署在Docker容器中;
監控模塊,用于對所述Docker容器的資源使用情況進行監控;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710618053.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種太陽能一體式爆閃燈
- 下一篇:基于2G網絡的野外定位系統





