论文部分内容阅读
针对本地化的MySQL数据库集群不可迁移的缺陷,借助容器云平台上快速部署和动态迁移的优势,在Kubernetes容器云平台上搭建MySQL主从集群,主要研究内容是解决高并发场景下Kubernetes容器云平台上MySQL主从容器集群的负载均衡问题,提高并发效率。容器云平台上原生反向代理kube-proxy其简单随机轮询的负载均衡策略静态单一,无法根据后端节点的负载情况进行动态策略调节,对MySQL主从容器集群负载均衡存在缺陷。针对kube-proxy的负载均衡缺陷,实现了基于动态反馈思想的动态平滑权重轮询的负载均衡策略,并为了实现这种策略,设计实现了客户端负载均衡代理,取代原生反向代理kube-proxy的负载均衡功能。客户端负载均衡代理主要包括任务收集模块、监控模块、计算模块、决策模块和任务分发模块。其中,任务收集模块与客户端通信,收集SQL任务。监控模块和计算模块通过监控后端节点的负载资源占用情况,动态计算各节点权重,为决策模块提供动态权重输入。决策模块利用动态平滑权重轮询的负载均衡策略进行反馈调节,为SQL任务请求选取合适的执行节点。任务分发模块将任务请求分发给决策模块选取的执行节点。并且在容器云平台上设计实现了动态扩容模块,增加MySQL主从集群从节点,以解决集群负载超出极限时负载均衡无法解决的并发效率问题。最后,实验对比验证了客户端负载均衡代理的动态平滑权重轮询的负载均衡策略比kube-proxy的简单随机轮询策略的负载均衡效果更优。同时,实验验证了动态扩容能解决负载分担问题,使MySQL主从容器集群的并发效率有显著地提升。