[发明专利]一种容器负载均衡实现方法有效
申请号: | 201710947703.9 | 申请日: | 2017-10-12 |
公开(公告)号: | CN107547661B | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 魏存涛;许志军;卓佐铃 | 申请(专利权)人: | 中电福富信息科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 福州君诚知识产权代理有限公司 35211 | 代理人: | 戴雨君 |
地址: | 350000 福建省福州*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 容器 负载 均衡 实现 方法 | ||
1.一种容器负载均衡实现方法,其特征在于:包括应用层、Tengine负载层、LVS负载层和注册中心,其中Tengine负载层和LVS负载层设置成双层分流架构;所述应用层允许部署多个应用,每个应用均配套一个应用代理程序;所述Tengine负载层允许部署多个Tengine,每个Tengine均配套一个Tengine代理程序;所述LVS负载层允许部署多个LVS,其中只有一个LVS是Active激活状态,其余的LVS都是Standby备用状态,每个LVS均配套一个LVS代理程序;每层的代理程序配合注册中心实现服务注册和发现的能力,使整个架构具有横向扩展的能力;
所述应用代理程序对相应的应用进行健康监测并实时将相应的应用的健康状态更新到注册中心;
所述Tengine代理程序对相应的Tengine进行健康监测并实时将相应的Tengine的健康状态更新到注册中心,同时实时获取注册中心的应用状态变化,以更新Tengine的负载配置文件,以保证新增的应用能及时加入Tengine的负载列表,不可用的应用及时从Tengine负载列表中移除;
所述LVS代理程序对相应的LVS进行健康监测并及时切换LVS的Active角色,允许健康的LVS抢占虚拟IP以此对外提供服务,所述虚拟IP则作为系统的唯一入口;所述LVS代理程序同时实时获取注册中心的Tengine状态变化,以更新LVS负载配置文件,以保证新增的Tengine能及时加入LVS的负载列表,不可用的Tengine及时从LVS负载列表中移除。
2.如权利要求1所述的一种容器负载均衡实现方法,其特征在于:所述应用代理程序包括健康监测模块和服务注册模块:
所述健康监测模块在应用启动或运行过程中以轮询的方式请求应用开放的服务端口,如果请求应答成功则认为应用服务可用,否则认为应用服务不可用,并将监测结果通知所述服务注册模块;
所述服务注册模块收到监测结果后,获取该应用的相关信息,将状态信息写入所述注册中心。
3.如权利要求1所述的一种容器负载均衡实现方法,其特征在于:所述Tengine代理程序包括健康监测模块、服务注册模块、服务发现模块以及配置更新模块:
所述健康监测模块在Tengine启动或运行过程中以轮询的方式请求Tengine开放的服务端口,如果请求应答成功则认为Tengine服务可用,否则认为Tengine服务不可用,并将监测结果通知所述服务注册模块;
所述服务注册模块收到监测结果后,获取该Tengine的相关信息,将状态信息写入所述注册中心;
所述服务发现模块以长连接方式连接所述注册中心,实时监听所述注册中心推送的应用状态更新事件,在收到应用状态更新事件通知后将应用状态信息传递给所述配置更新模块;
所述配置更新模块收到应用状态信息后更新该Tengine的负载配置文件,并调用该Tengine的加载配置命令以触发该Tengine的配置热加载,当配置热加载被重新加载后,该Tengine的后端应用列表也被更新,新增的应用加入Tengine的负载列表,不可用的应用及时从Tengine的负载列表移除。
4.如权利要求1所述的一种容器负载均衡实现方法,其特征在于:所述LVS代理程序包括健康监测模块、服务切换模块、服务发现模块以及配置更新模块:
所述健康监测模块在LVS启动或运行过程中以轮询的方式请求LVS开放的服务端口,如果请求应答成功则认为LVS服务可用,否则认为LVS服务不可用,并将监测结果通知所述服务切换模块;
所述服务切换模块收到监测结果后,如果LVSActive变为不可用,则会触发LVSStandby抢占虚拟IP并成为LVSActive对外提供服务;
所述服务发现模块以长连接的方式连接注册中心,实时监听注册中心推送的Tengine状态更新事件,在收到Tengine状态更新通知后将Tengine状态信息传递给配置更新模块;
所述配置更新模块收到Tengine状态信息后更新该LVS的负载配置文件,并调用该LVS的加载配置命令以触发该LVS的配置热加载,当配置热加载被重新加载后,该LVS的后端Tengine实例列表也被更新,新增的Tengine加入LVS的负载列表,不可用的Tengine及时从LVS的负载列表中移除。
5.如权利要求1所述的一种容器负载均衡实现方法,其特征在于:所述Tengine是工作在网络七层协议中的应用层的负载均衡器,所述LVS是工作在网络七层协议的传输层的负载均衡器,所述注册中心是用于存储数据的软件,提供分布式的读写能力,并支持主动推送状态给客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电福富信息科技有限公司,未经中电福富信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710947703.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于DSP的视频图像处理系统
- 下一篇:视频图像增强系统