[發明專利]基于Consul實現OpenResty動態負載均衡的方法在審
| 申請號: | 201911127937.4 | 申請日: | 2019-11-18 |
| 公開(公告)號: | CN110855787A | 公開(公告)日: | 2020-02-28 |
| 發明(設計)人: | 程永新;孫玉穎;劉洋 | 申請(專利權)人: | 上海新炬網絡技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F9/50 |
| 代理公司: | 上海科律專利代理事務所(特殊普通合伙) 31290 | 代理人: | 袁亞軍 |
| 地址: | 201707 上海市青浦區外青*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 consul 實現 openresty 動態 負載 均衡 方法 | ||
本發明公開了一種基于Consul實現OpenResty動態負載均衡的方法,包括如下步驟:S1)當有服務器啟動時,通過Consul接受注冊信息并獲取ip;S2)當有服務器關閉時,通過Consul接受關閉信息并從服務器ip列表中將其剔除;S3)將Consul獲取的ip列表傳遞給Openresty配置的upstream模板中;S4)4.Nginx配置的upsream列表就會從openresty的模板中動態獲取。本發明能夠利用consul動態發現服務器的特性,可以針對性的使用于Openresty/Nginx動態擴容縮容的需求場景,提升負載均衡的效率,大幅減少相應運維操作的時間消耗。
技術領域
本發明涉及一種動態負載均衡實現方法,尤其涉及一種基于Consul實現OpenResty動態負載均衡的方法。
背景技術
Nginx是HTTP Server、反向代理服務器、郵件代理服務器、通用的TCP/UDP代理服務器。Nginx的配置文件由單指令(simple directive)和塊指令(block directive)組成,單指令只有一行,以“;”結尾,塊指令后面是用“{}”包裹的多行內容。有些塊指令后的花括號中可以繼續包含單指令,這樣的塊指令被成為配置上下文(context),這樣的指令有:events、http、server、location等。
Nginx是模塊化設計的反向代理軟件,C語言開發;OpenResty是以Nginx為核心的Web開發平臺,可以解析執行Lua腳本(OpenResty與Lua的關系,類似于Jvm與Java。OpenResty是一個集成了Nginx、LuaJIT和其它很多moudels的平臺,用來托管完整的web應用——包含業務邏輯,而不單純是靜態文件服務器。
在Nginx中HTTP負載均衡是需要依靠upstream模塊的,可以通過server指令指定后端服務器的IP地址和端口,同時還可以設定每個后端服務器在負載均衡調度中的狀態。當服務器啟動之后,upstream中的服務器就是無法動態變更的了。當上游服務器不可用時,upstream會自動將服務器剔除,但是當新增服務器時,upstream無法做到增加。傳統的負載均衡辦法,就是修改配置,然后重啟服務。
發明內容
本發明所要解決的技術問題是提供一種基于Consul實現OpenResty動態負載均衡的方法,能夠利用consul動態發現服務器的特性,可以針對性的使用于Openresty/Nginx動態擴容縮容的需求場景,提升負載均衡的效率,大幅減少相應運維操作的時間消耗。
本發明為解決上述技術問題而采用的技術方案是提供一種基于Consul實現OpenResty動態負載均衡的方法,包括如下步驟:S1)當有服務器啟動時,通過Consul中心接受該服務器的注冊信息,并通過Consul接口調用獲取該服務器ip;S2)當有服務器關閉時,通過Consul中心接受該服務器的關閉信息,并通過Consul接口調用從服務器ip列表中將其剔除;S3)將Consul獲取的ip列表傳遞給Openresty配置的upstream模板中;S4)在Nginx中通過server指令指定后端服務器的IP地址和端口實現HTTP負載均衡,所述后端服務器的IP地址來自Nginx配置的upsream列表,所述upsream列表從Openresty的模板中動態獲取。
上述的基于Consul實現OpenResty動態負載均衡的方法,其中,所述Openresty或Nginx為不同的后端服務器指定輪詢權值,每個請求按時間順序逐一分配到不同的后端服務器,如果后端某臺服務器宕機,則故障系統被自動剔除;輪詢權值越大,則分配到的訪問機率越高。
上述的基于Consul實現OpenResty動態負載均衡的方法,其中,所述Openresty或Nginx將每個請求按訪問IP的hash結果分配,來自同一個IP的請求固定訪問同一個后端服務器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海新炬網絡技術有限公司,未經上海新炬網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911127937.4/2.html,轉載請聲明來源鉆瓜專利網。





