[发明专利]一种基于Docker容器集群的负载均衡算法在审
申请号: | 201711418857.5 | 申请日: | 2017-12-25 |
公开(公告)号: | CN107888708A | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | 洪晓光;王新军;陈志勇;姜诚;孙明 | 申请(专利权)人: | 山大地纬软件股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京金宏来专利代理事务所(特殊普通合伙)11641 | 代理人: | 许振强,杜正国 |
地址: | 250000 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 docker 容器 集群 负载 均衡 算法 | ||
技术领域
本发明属于负载均衡算法领域,尤其涉及一种基于Docker容器集群的负载均衡算法。
背景技术
随着互联网的快速发展和演进,人们的生活与互联网息息相关,越来越多的人访问各大网站,对于服务器的性能要求也越来越高。因此减小服务器的压力,提升服务器系统的稳定性,提高服务器性能等问题急需解决。服务器负载均衡技术和服务器集群技术的结合成功的解决了这个问题。
近几年来,随着Docker虚拟化技术的日益成熟,Docker容器技术得到了很好的发展,Docker容器技术很好的解决了传统服务器集群技术面临的限制。
Docker容器技术可以将编写好的应用软件封装成一个镜像,进行快速部署。并且,可以在同一台机器上面部署多个镜像实例,结合多台服务器,实现Docker容器集群。基于Docker应用容器集群的应用开发、部署和运维成为越来越多的企业和服务运营商的现实选择。
面向软件的负载均衡算法包括随机算法,轮询算法,最小连接数算法,一致哈希算法等,都已经作为负载均衡的内置算法,随软件一起分发。然而,这些算法在某些情况下都会有出现请求分配不合理,服务器负载不均衡的等情况。因此提出了一种新的负载均衡算法,结合当前的Docker容器技术和Nginx服务器,实现基于Docker容器集群的负载均衡算法。
发明内容
本发明为了提高负载均衡设备的响应速度和稳定性,提出了基于Docker容器集群的负载均衡算法。
本发明目的是提供一种基于Docker容器集群的负载均衡算法。在于以Nginx服务器内置的轮询算法为基础,提出了新的动态负载均衡算法,这个算法具有更高的灵活性。
为实现以上目的,本发明采用的技术方案是:
一种基于Docker容器集群的负载均衡算法,是Docker容器集群和Nginx服务器结合的一种算法,服务器的响应时间,是反映服务器当前负载均衡的一个关键参数,因此通过搜集每个Docker容器服务一定时间内的平均响应时间来作为服务器权重参数。
在使用Nginx进行负载均衡的时候,客户端被视为下游(Downstream)容器实例,而后端服务器实例被称为上游(Upstream)容器实例。Nginx在将客户端的请求发送到后端服务容器的过程中会用到Nginx的负载均衡模块(LoadBalancingModule),这个模块是Nginx的Upstream模块中的一部分,主要是Nginx中内置的负载均衡算法,通过这个模块来选取一个后端容器服务来处理当前的请求。
每次Nginx写入日志会得到m台服务器的记录,记录中包含了每次处理请求所用的时间,每台服务器取其中的最近的n条记录。
一种基于Docker容器集群的负载均衡算法,包括以下步骤:
a.记录服务器请求时间,记录m台服务器的最近的n条记录的每次处理请求所用时间,对后端服务器实例,可以表示为:
S=[S1,S2,S3,…,Sm]
其中Sm代表第m个容器实例;
对于m个容器实例,每一个实例最近的n次响应时间表现为:
Ri=[ti1,ti2,ti3,…tin],i∈[1,m]
那么,对于m个容器实例,其响应时间可以构成如下的二维数组:
其中,n代表单个容器实例Si最近的n次的响应时间记录,m代表容器集群总共拥有的实例数。
b.计算平均值,将平均值作为给每一个容器实例分配权重的首要依据。计算各个服务器在最后一次处理请求的响应时间的平均值lrt,以lrt为判断标准,将容器实例分为快速响应实例和非快速响应实例,可以将请求分配到快速响应的实例中进行处理;计算公式如下:
其中,tin为第i个容器第n次的响应时间。
如果容器实例的最后一次响应时间低于这个平均值,说明这个容器实例的负载比较轻,那么就可以将这个容器实例的权重提升,保证这个容器实例能够优先分配到Nginx分配过来的请求,反之,就要将这个容器实例的权重降低,使得它获取到请求分配数更低。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山大地纬软件股份有限公司,未经山大地纬软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711418857.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体装置、半导体系统和半导体装置的控制方法
- 下一篇:接近传感器