1.一种应用在openstack云平台的多活负载均衡方法,其特征在于,该方法是使用开源的lvs和nginx分别对4层流量和7层流量进行负载均衡,通过实现了ospf协议的开源quagga虚拟路由器与支持ospf协议的物理交换机合作进行多路径选择,实现多活模式,并通过openstack平台上租户共享的外部网络与租户vpc中的虚拟机进行通信,实现跨vpc的负载均衡。
2.根据权利要求1所述的应用在openstack云平台的多活负载均衡方法,其特征在于,该方法的步骤如下:
s1、控制台通过负载均衡管理网对后端微服务层内的lb节点的负载均衡实例下发lvs与nginx配置;
s2、lb节点的负载均衡实例通过出口防火墙设备进行eipnat映射,实现负载均衡实例的外网访问功能;同时通过负载均衡业务网与外部网络打通,实现负载均衡实例的内网访问功能;
s3、负载均衡实例对应的虚拟服务地址所在的网络,用于对负载均衡虚拟服务的访问,公网负载均衡的eip与负载均衡实例的业务网ip进行nat,要求与平台上租户共享的floatingip网络互通;
s4、lb节点内安装lvs+nginx,lvs通过floatingip网与后端微服务层的通信,每一个负载均衡实例占用一个floatingip网的ip地址,作为lip;
s5、租户自行创建的租户vpc网,租户vpc网为后端微服务层所在的网络,实现租户与后端微服务层的通信。
3.根据权利要求2所述的应用在openstack云平台的多活负载均衡方法,其特征在于,所述后端微服务层包括,
api接口管理模块,用于面向前端ui封装的restfulapi接口,处理前端访问请求,用户访问前端页面进行操作行为,前端将请求发送到后端微服务层,由对应的api接口来处理;
四层管理模块,用于提供四层负载均衡相关的功能接口供前端api接口管理模块调用以及实现四层负载均衡功能基本的逻辑,四层负载均衡功能基本的逻辑包括lb节点管理、lvs规则的管理、后端主机的管理、四层监听器的管理以及基本数据库管理;
七层管理模块,用于提供七层负载均衡相关功能接口供前端api接口管理模块调用以及实现七层负载均衡基本的功能逻辑,七层负载均衡基本的功能逻辑包括lb节点管理、nginx规则的管理、后端主机的管理、七层监听器的管理以及基本数据库管理;
common模块,用于提供基础的功能函数和基础接口common类,基础的功能函数用于供模块和功能调用,基础接口common类用于由四层管理模块和七层管理模块来继承,主要是公共接口的定义;
slb-agent模块,用于接受slb集群发来的命令消息,在lb节点上面执行具体配置命令,并且主动上报流量信息。
4.根据权利要求3所述的应用在openstack云平台的多活负载均衡方法,其特征在于,所述common模块包括,
db管理模块,用于维护数据库连接状态,提供数据库的增删改查的基本的接口,db管理模块是数据库管理模块;
虚拟机管理模块,用于对lb节点虚拟机进行管理,接受四层管理模块和七层管理模块的调用请求,再调用openstack虚拟机管理接口,完成lb节点虚拟机的调度、创建和删除的管理操作;
远程管理模块,用于向lb节点虚拟机发送管理命令;
交换机管理模块,用于通过交换机与lb节点虚拟机建立邻居关系并完成流量分发。
5.根据权利要求4所述的应用在openstack云平台的多活负载均衡方法,其特征在于,所述四层管理模块通过虚机管理模块实现lvs节点虚机的创建、初始化配置与删除的lb节点管理;四层管理模块通过db管理模块实现服务数据的增删改查的功能,包括后端主机的管理及监听器的管理;四层管理模块通过远程管理模块与lb节点上的slb-agent远程通信,实现对lvs规则的管理;
七层管理模块通过虚机管理模块实现nginx节点虚机的创建、初始化配置与删除的lb节点管理;七层管理模块通过db管理模块实现服务数据的增删改查的功能,包括后端主机的管理,监听器的管理;七层管理模块通过远程管理模块与lb节点上的slb-agent远程通信,实现对nginx规则的管理。
6.一种应用在openstack云平台的多活负载均衡系统,其特征在于,该系统采用微服务软件架构,包括ui层、后端微服务层、原子微服务层和远端slb-agent层;
ui层用于与用户交互,接收用户配置,转发给后端微服务层处理并将处理结果呈现给用户;
后端微服务层用于接收ui层转发的用户配置信息并进行处理,同时下发指令到原子微服务层;
原子微服务层用于接收后端微服务层下发的指令;
远端slb-agent层用于配置lb节点虚拟机中lvs+nginx应用程序。
7.根据权利要求6所述的应用在openstack云平台的多活负载均衡系统,其特征在于,所述后端微服务层包括,
api接口管理模块,用于面向前端ui封装的restfulapi接口,处理前端访问请求,用户访问前端页面进行操作行为,前端将请求发送到后端微服务层,由对应的api接口来处理;
四层管理模块,用于提供四层负载均衡相关的功能接口供前端api接口管理模块调用以及实现四层负载均衡功能基本的逻辑,四层负载均衡功能基本的逻辑包括lb节点管理、lvs规则的管理、后端主机的管理、四层监听器的管理以及基本数据库管理;
七层管理模块,用于提供七层负载均衡相关功能接口供前端api接口管理模块调用以及实现七层负载均衡基本的功能逻辑,七层负载均衡基本的功能逻辑包括lb节点管理、nginx规则的管理、后端主机的管理、七层监听器的管理以及基本数据库管理;
common模块,用于提供基础的功能函数和基础接口common类,基础的功能函数用于供模块和功能调用,基础接口common类用于由四层管理模块和七层管理模块来继承,主要是公共接口的定义;
slb-agent模块,用于接受slb集群发来的命令消息,在lb节点上面执行具体配置命令,并且主动上报流量信息。
8.根据权利要求7所述的应用在openstack云平台的多活负载均衡方法,其特征在于,所述common模块包括,
db管理模块,用于维护数据库连接状态,提供数据库的增删改查的基本的接口,db管理模块是数据库管理模块;
虚拟机管理模块,用于对lb节点虚拟机进行管理,接受四层管理模块和七层管理模块的调用请求,再调用openstack虚拟机管理接口,完成lb节点虚拟机的调度、创建和删除的管理操作;
远程管理模块,用于向lb节点虚拟机发送管理命令;
交换机管理模块,用于通过交换机与lb节点虚拟机建立邻居关系并完成流量分发。
9.根据权利要求8所述的应用在openstack云平台的多活负载均衡方法,其特征在于,所述四层管理模块通过虚机管理模块实现lvs节点虚机的创建、初始化配置与删除的lb节点管理;四层管理模块通过db管理模块实现服务数据的增删改查的功能,包括后端主机的管理及监听器的管理;四层管理模块通过远程管理模块与lb节点上的slb-agent远程通信,实现对lvs规则的管理;
七层管理模块通过虚机管理模块实现nginx节点虚机的创建、初始化配置与删除的lb节点管理;七层管理模块通过db管理模块实现服务数据的增删改查的功能,包括后端主机的管理,监听器的管理;七层管理模块通过远程管理模块与lb节点上的slb-agent远程通信,实现对nginx规则的管理。