CN110413371B - 多活负载均衡应用的端口添加方法、装置、设备及存储介质 - Google Patents
多活负载均衡应用的端口添加方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110413371B CN110413371B CN201910527668.4A CN201910527668A CN110413371B CN 110413371 B CN110413371 B CN 110413371B CN 201910527668 A CN201910527668 A CN 201910527668A CN 110413371 B CN110413371 B CN 110413371B
- Authority
- CN
- China
- Prior art keywords
- load balancing
- balancing application
- added
- port number
- configuration file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种多活负载均衡应用的端口添加方法、装置、设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:若接收到多活负载均衡应用中的LVS负载均衡应用的端口添加请求,获取端口添加请求中的待添加的端口号;若所述待添加的端口号没有创建,根据待添加的端口号、第一配置模板在LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息;在Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息;将所添加的端口号更新至数据库。本申请实施例在保证多活负载均衡应用能提供多端口服务的同时提高了多活负载均衡应用的端口添加的速度和效率,节约了时间成本和人工成本。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种多活负载均衡应用的端口添加方法、装置、计算机设备及存储介质。
背景技术
目前,市场上的PaaS平台(Platform-as-a-Service,平台即服务)对于多活负载均衡应用的修改都是依托于有相应权限的用户进行人工修改,这样需要修改的用户有较高的专业背景知识,并且是手动修改,修改操作非常繁琐,很容易出错。另外,在创建了多活负载均衡应用后,若一个企业有多个子公司,每个子公司想使用一个独立的端口;或者一个企业有多个应用的需求,而每个应用需要一个端口。以上情况下,涉及对多活负载均衡应用的修改,如多活负载均衡应用的端口添加。
发明内容
本申请实施例提供一种多活负载均衡应用的端口添加方法、装置、计算机设备及存储介质,可提高多活负载均衡应用的端口添加的速度和效率。
第一方面,本申请实施例提供了一种多活负载均衡应用的端口添加方法,包括:
若接收到多活负载均衡应用中的LVS负载均衡应用的端口添加请求,获取所述端口添加请求中的待添加的端口号;判断所述待添加的端口号是否已经存在;若所述待添加的端口号不存在,根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息;在所述Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息;将所添加的端口号更新至数据库。
第二方面,本发明实施例提供了一种多活负载均衡应用的端口添加装置,该多活负载均衡应用的端口添加装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例可实现对多活负载均衡应用的端口添加,在保证多活负载均衡应用能提供多端口服务的同时提高了多活负载均衡应用的端口添加的速度和效率,节约了时间成本和人工成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的多活负载均衡应用的端口添加方法的流程示意图;
图2是本申请实施例提供的多活负载均衡应用的端口添加方法的子流程示意图;
图3是本申请实施例提供的多活负载均衡应用的端口添加方法的子流程示意图;
图4是本申请实施例提供的多活负载均衡应用的端口添加方法的子流程示意图;
图5是本申请另一实施例提供的多活负载均衡应用的端口添加方法的流程示意图;
图6是本申请另一实施例提供的多活负载均衡应用的端口添加方法的子流程示意图;
图7是本申请实施例提供的多活负载均衡应用的端口添加装置的示意性框图;
图8是本申请实施例提供的第一配置单元的示意性框图;
图9是本申请实施例提供的第二配置单元的示意性框图;
图10是本申请另一实施例提供的多活负载均衡应用的端口添加装置的示意性框图;
图11是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的多活负载均衡应用的端口添加方法的流程示意图。如图1所示,该方法包括S101-S106。
S101,若接收到多活负载均衡应用中的LVS(Linux Virtual Server,Linux虚拟服务器)负载均衡应用的端口添加请求,获取所述端口添加请求中的待添加的端口号。
在本实施例中,该多活负载均衡应用包括LVS负载均衡应用和Nginx(engine x)负载均衡应用,Nginx负载均衡应用可以看做是LVS负载均衡应用的的后端应用,以用来辅助LVS负载均衡应用。可以理解地,若LVS负载均衡应用单独存在时,该LVS负载均衡应用会为某一个后端应用提供负载均衡服务。在本实施例中,Nginx负载均衡应用可以看做是LVS负载均衡应用单独存在时的后端应用,而多活负载均衡应用的后端应用可以看做是Nginx负载均衡应用单独存在时的后端应用。需要注意的是,“可以看做”这种表述只是为了方便理解多活负载均衡应用中的LVS负载均衡应用和Nginx负载均衡应用之间的关系。其中,该多活负载均衡应用中的LVS负载均衡应用有多个LVS容器,该多活负载均衡应用中的Nginx负载均衡应用有多个Nginx容器。
端口包括访问端口和服务端口。其中,访问端口是暴露给用户的,用户访问多活负载均衡应用时通过该访问端口进行访问;服务端口指的是多活负载均衡应用所提供的端口,该端口不会暴露给用户,即用户不知道也无需知道该服务端口的信息。其中,需要注意的是,多活负载均衡应用的后端应用可以理解为多活负载均衡应用所对应的服务,即真正为用户提供服务的应用,该多活负载均衡应用为后端应用提供负载均衡服务。在本实施例中,端口添加包括多活负载均衡应用的端口添加、多活负载均衡应用的后端应用的端口添加。多活负载均衡应用的端口添加即为多活负载均衡应用的LVS负载均衡应用的端口添加。由于后端应用的端口添加也涉及到多活负载均衡应用的配置文件的修改,因此也可以看成是与多活负载均衡应用的端口添加有关,在本申请中也会对后端应用的端口添加中涉及多活负载均衡应用的部分进行描述。
其中,多活负载均衡应用的端口添加请求可由多种方式触发,如由用户触摸或者点击相关按钮或者图像触发端口添加请求,如通过调用某一个多活负载均衡应用的设置接口,以在设置接口上设置LVS负载均衡应用待添加的端口号,若检测到用户触摸或者点击设置完成等相关按钮或者图像,触发相应的端口添加请求;也可以接收用户的语音端口添加信息来触发,如若接收到用户的添加某个多活负载均衡应用的LVS负载均衡应用的8080端口等语音以触发相应的端口添加请求。在该端口添加请求中包括有多活负载均衡应用的信息,如多活负载均衡应用的标识信息;以及待添加的端口号。其中,多活负载均衡应用的标识信息可以为多活负载均衡应用的名称或者多活负载均衡应用的编号等等可以确定具体是哪一个多活负载均衡应用的信息。其中,待添加的端口号可以是一个,也可以是多个。
该多活负载均衡应用可应用于特定的一种网络架构,该网络架构中的路由协议需要使用OSPF协议,以使得用户请求通过OSPF协议所对应的路由器的分发策略分发到不同的LVS容器上,LVS容器接收到用户请求后,按照LVS负载均衡算法将用户请求发送到Nginx容器实例上,Nginx容器实例接收到用户请求后,按照Nginx负载均衡算法将用户请求发送到后端应用,由后端应用来响应用户请求。由于该多活负载均衡应用应用于该特殊的网络架构中,因此,无需为该LVS负载均衡应用配置路由信息。同时,LVS负载均衡应用和Nginx负载均衡应用在同一个网络中,而Nginx负载均衡应用和多活负载均衡应用的后端应用可以处于不同的网络中,如此,可满足更多场景的需求,适用性广,适用性更强。
S102,判断所述待添加的端口号是否已经存在。
在数据库中保存有该多活负载均衡应用中的LVS负载均衡应用所对应的端口信息,那么判断待添加的端口号是否已经存在,包括:获取数据库中保存的该多活负载均衡应用中的LVS负载均衡应用所对应的端口号;将获取的端口号与所待添加的端口号进行比对;若获取的端口号中不存在待添加的端口号,那么确定待添加的端口号不存在,否则,确定所设置的待添加的端口号已经存在。需要注意的是,若待添加的端口号有多个,那么只要有一个端口号已经存在,那么确定待添加的端口号已经存在。
若所述待添加的端口号在配置文件中已经存在,执行步骤S103;若所述待添加的端口号在配置文件中不存在,执行步骤S104。
S103,进行提示。
S104,根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息。
其中,第一配置模板是一个端口号所对应的配置模板。该模板中包括端口号(多活负载均衡应用的端口号,对应于LVS负载均衡应用的端口号,也可以理解为,待添加的端口号)、多活负载均衡应用的虚拟IP(对应于LVS负载均衡应用的虚拟IP)、多活负载均衡相关信息(对应于LVS负载均衡应用的相关信息,包括负载均衡的算法、负载均衡转发模式、负载均衡转发协议等)、LVS负载均衡应用的后端应用的信息。其中,LVS负载均衡应用的后端应用的信息,即指的是Nginx负载均衡应用的信息,其包括所有Nginx容器的IP地址、Nginx容器提供服务的端口、以及每个IP地址所对应的Nginx容器所对应的健康检查方式、每个Nginx容器的权重等信息。
如在一实施例中,第一配置模板可包括以下内容:
其中,xxx.yyy.zzz.mmm表示VIP,LVS_port表示LVS负载均衡应用的端口,LVS_algorithm表示LVS负载均衡算法参数,LVS_kind表示LVS负载均衡转发模式参数,protocol表示LVS负载均衡转发协议参数。xxx.yyy.zzz.nnn、xxx.yyy.zzz.abc表示Nginx容器的IP、weight表示Nginx容器的权重参数、TCP_CHECK表示Nginx容器的TCP健康检查参数,该参数中包括以下参数:connect_timeout表示连接超时时间参数、nb_get_retry表示重连次数参数、delay_before_retry表示重连间隔时间参数、connect_port表示所连接的端口参数。其中,每个Nginx容器可以理解为LVS负载均衡应用的后端应用,即LVS负载均衡应用的后端应用所对应的服务器。需要注意的是,以上所述的第一配置模板所包括的内容只是为了例举而已,并不构成对第一配置模板的限制。在其他实施例中,还可以包括其他的内容。
在一实施例中,如图2所示,S104包括以下步骤S1041-S1044。
S1041,根据所述多活负载均衡应用的信息确定保存LVS负载均衡应用的配置文件的宿主机,将所述宿主机作为第一宿主机。
由于在多活负载均衡应用中的LVS负载均衡应用的端口添加请求中包括有多活负载均衡应用的标识信息,因此可通过标识信息从数据库中获取该多活负载均衡应用的各种信息,根据多活负载均衡应用的信息确定保存LVS负载均衡应用配置文件的宿主机,将该宿主机作为第一宿主机。如从多活负载均衡应用的信息中获取多活负载均衡应用的虚拟IP(对应与LVS负载均衡应用的虚拟IP);根据虚拟IP确定保存LVS负载均衡应用配置文件的第一宿主机。
S1042,将所述LVS负载均衡应用的配置文件从所述第一宿主机中下载到本地。
从所确定的第一宿主机中获取LVS负载均衡应用的配置文件;将所获取的配置文件下载到本地的一个预先设置的目录。需要注意的是,将所获取的配置文件下载到本地,以对配置文件进行修改,而不是直接远程在第一宿主机上进行修改,是考虑到若在对配置文件进行修改的过程中,网络出现中断,那么改写的过程也会出现中断,即排除远程改写的过程中出现的意外情况对改写造成的影响,另一方面,在本地改写配置文件比在远程改写配置文件的速度要快,同时,远程改写的过程中很容易涉及安全性等问题。
S1043,根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息,以得到第一目标配置文件。
在一实施例中,如图3所示,S1043包括以下步骤S1043a-S1043c。
S1043a,获取第一配置模板、所述待添加的端口号、所述多活负载均衡应用的虚拟IP以及Nginx负载均衡应用中的Nginx容器信息,其中,第一配置模板是一个端口号所对应的配置模板。
其中,第一配置模板可以是预先保存在数据库中的,获取第一配置模板即是从数据库中获取第一配置模板。若第一配置模板没有预先保存,那么在LVS负载均衡应用的配置文件中定位并获取LVS某一个端口下的所有的配置信息,将该端口下的所有的配置信息作为第一配置模板。其中,Nginx容器信息包括Nginx容器的IP地址和Nginx容器的端口信息。无论是从数据库中获取的第一配置模板,还是从LVS负载均衡应用的配置文件中获取的某一个端口下的所有的配置信息而形成的第一配置模板,第一配置模板中的内容都包括上述中提到的内容。
S1043b,将所述待添加的端口号、所述虚拟IP以及所述Nginx容器信息,填充到所述第一配置模板中的相应位置,以形成所述待添加的端口号所对应的配置信息。
若第一配置模板是预先保存在数据库中的模板,那么将所获取的待添加的端口号、虚拟IP、所述Nginx容器信息,填充到所述第一配置模板中的相应参数所对应的位置处,以形成待添加的端口号所对应的配置信息。若第一配置模板是直接从配置文件中获取的某一个端口下的所有的配置信息,那么只需将待添加的端口号替换所获取的第一配置模板中的端口号即可形成待添加的端口号所对应的配置信息。
在本实施例中,直接根据第一配置模板来生成待添加的端口号所对应的配置信息,简单快捷,加快了生成待添加的端口号所对应的配置信息的速度。
S1043c,将所述待添加的端口号所对应的配置信息追加到所述LVS负载均衡应用的配置文件的末尾以形成第一目标配置文件。
在LVS负载均衡应用的配置文件中定位最后一个端口号所对应的配置信息,如定位LVS负载均衡应用的配置文件中的最后一个Virtual_server;根据该最后一个端口号所对应的配置信息中的{}来定位最后一个端口号所对应的配置信息的末尾,将最后一个端口号所对应的配置信息的末尾即理解为LVS负载均衡应用的配置文件的末尾;将所述待添加的端口号所对应的配置信息追加到所述LVS负载均衡应用的配置文件的末尾以形成第一目标配置文件。
S1044,将所述第一目标配置文件推送到所述第一宿主机中。
将第一目标配置文件从预先设置的目录中推送到第一宿主机中。将该更新后的配置文件推送到第一宿主机中。
该实施例实现了在LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息,其中,将配置文件下载到本地,提高了安全性,加快了加入待添加的端口号所对应的配置信息的速度和效率;根据第一配置模板来生成待添加的端口号所对应的配置信息,进一步加快了加入待添加的端口号所对应的配置信息的速度和效率。
S105,在所述Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息。
Nginx负载均衡应用的配置文件指的是Nginx.conf。
由于多活负载均衡应用中的LVS负载均衡是四层的负载均衡。四层负载均衡通过虚拟IP+端口号接收请求,根据请求中的目的地址和源地址对请求进行转发。因此,Nginx负载均衡应用需要监听LVS负载均衡应用的端口号,以接收LVS负载均衡应用转发来的请求。再对接收到的请求进行转发,以转发到后端容器应用。
因此,若多活负载均衡应用中的LVS负载均衡应用添加了端口号,需要在Nginx负载均衡应用的配置文件中加入监听LVS负载均衡应用新增加的端口号所对应的配置信息。
在一实施例中,如图4所示,步骤S105包括以下步骤S1051-S1054。
S1051,根据所述多活负载均衡应用的信息确定保存Nginx负载均衡应用的配置文件的宿主机,将所述宿主机作为第二宿主机。
S1052,将所述Nginx负载均衡应用的配置文件从所述第二宿主机中下载到本地。
S1053,在所述Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息,以形成第二目标配置文件。
具体地,如在Nginx负载均衡应用的配置文件中的server节点中,添加监听所添加的端口号所对应的配置信息,如listen 0.0.0.0 8080。其中,8080是所添加的端口号。如此以使得Nginx负载均衡应用可以监听所添加的端口号。
S1054,将所述第二目标配置文件推送到所述第二宿主机中。
需要主要的是,本实施中的S1051、S1052、S1054与图2实施例中对应的步骤类似,具体请参看图2实施例中的描述,在此不再赘述。
S106,将所添加的端口号更新至数据库。
在数据库中添加所添加的端口号的信息,如所添加的端口号、添加时间等。
在一实施例中,所述方法还包括S107。
S107,重启所述多活负载均衡应用的多活负载均衡服务,以使得LVS负载均衡应用的配置文件以及Nginx负载均衡应用的配置文件的修改生效。
如可通过重启指令来重启所述多活负载均衡服务。需要注意的是,LVS负载均衡应用的配置文件和Nginx负载均衡应用的配置文件保存在对应宿主机上的数据卷中,其中,LVS负载均衡应用的配置文件是所有LVS容器共用的配置文件,Nginx负载均衡应用的配置文件是所有Nginx容器共用的配置文件,只有开启了多活负载均衡应用的负载均衡服务之后,LVS容器才可以在对应数据卷中自动获取修改后的配置文件到LVS容器中,Nginx容器才可以在对应数据卷中自动获取修改后的配置文件到Nginx容器中。
在上述方法实施例中实现了多活负载均衡应用的端口添加,如此可根据企业的需求添加端口,为企业提供多端口服务,满足了企业的需求,实现了访问接口的多样性;而且多活负载均衡应用的端口添加的过程自动执行,提高了多活负载均衡应用的端口添加的速度和效率;由于是自动执行,因此无需专业人员登陆到相应容器上进行操作,减少了人工成本和时间成本,也降低了端口添加出错的概率。
在一实施例中,如图5所示,所述多活负载均衡应用的端口添加方法还包括S201-S205。需要注意的是,本实施例中的步骤中没有详细说明的部分请参看图1实施例的描述,在此不再赘述。
S201,若接收到多活负载均衡应用的后端应用的端口添加请求,获取所述端口添加请求中的需添加的端口号。
S202,判断所述需添加的端口号是否已经存在。
若所述需添加的端口号已经存在,执行步骤S203;若所述需添加的端口号不存在,执行步骤S204。
S203,进行提示。
S204,根据所述需添加的端口号、第二配置模板在所述Nginx负载均衡应用的配置文件中加入需添加的端口号所对应的配置信息。
在该多活负载均衡应用中,包括LVS负载均衡应用和Nginx负载均衡应用,为了方便理解,Nginx负载均衡应用可以看做为LVS负载均衡应用的后端应用,而多活负载均衡应用的后端应用,可以看做是Nginx负载均衡应用的后端应用。如此,若多活负载均衡应用的后端应用添加了端口,仅需要修改多活负载均衡应用中的Nginx负载均衡应用的配置文件即可。
在一实施例中,如图6所示,步骤S204包括以下步骤S2041-S2044。
S2041,根据所述多活负载均衡应用的信息确定保存Nginx负载均衡应用的配置文件的宿主机,将所述宿主机作为第二宿主机。
S2042,将所述Nginx负载均衡应用的配置文件从所述第二宿主机中下载到本地。
S2043,根据所述需添加的端口号、第二配置模板在所述Nginx负载均衡应用的配置文件中加入需添加的端口号所对应的配置信息,以形成第三目标配置文件。
其中,第二配置模板包括upstream节点部分和location节点部分。upstream节点是Nginx负载均衡应用的配置文件中的http节点下的,upstream节点中包括后端应用的容器实例IP和端口信息,以及容器实例的健康检查参数信息等。location节点是Nginx负载均衡应用的配置文件中的server节点下的,location节点中包括请求后端应用的路径等信息的设置,以用于数据代理转发。
如在一实施例中,第二配置模板中的upstream节点部分可包括以下内容:
其中,appid是upstream名称;sticky表示会话保持,它是基于cookie的一种Nginx的负载均衡解决方案;server xxx.yyy.zzz.acd:port表示real server(真实服务器)的信息,即后端应用的容器实例IP参数和端口参数,其中,xxx.yyy.zzz.acd表示后端应用的容器实例IP参数,port表示需添加的端口号参数;check interval=5000rise=2fall=3timeout=1000,表示对upstream中的所有real server进行探测,每5秒检查一次,请求2次正常则标记real server为up(可用状态)否则为down(不可用状态),超时时间为1秒。
在一实施例中,第二配置模板中的location节点部分(涉及数据代理转发的一个location节点)可包括以下内容:
这段location节点部分涉及数据代理转发相关的信息,proxy_set_header参数用于修改http header头部信息,比如插入X-Forwarded-For参数等。需要注意的是,proxy_pass参数中的http://后面的upstream名称(http://+upstream名称)必须与upstream节点中的upstream名称一致。
需要注意的是,第二配置模板中的location节点部分和upstream节点部分的内容只是为了举例,以为了方便理解和说明,并不构成对此的限制,在其他实施例中,还可以包括其他的内容。
具体地,获取第二配置模板、需添加的端口号、后端应用的容器实例IP;将后端应用的容器实例IP、需添加的端口号填充到第二配置模板中的upstream节点部分的真实服务器的信息中,以替换容器实例IP参数和需添加的端口号参数;将填充后的upstream节点部分插入到http节点中;将第二配置模板中的location节点部分的内容插入到server节点中,其中,location节点部分的proxy_pass参数中的http://后面的upstream名称(http://+upstream名称)与upstream节点部分中的upstream名称一致,如此,以形成第三目标配置文件。
其中,第二配置模板可预先保存在数据库中,如此,可从数据库中获取第二配置模板。在一些实施例中,若数据库中并没有预先保存第二配置模板,那么可从Nginx负载均衡应用的配置文件中获取http节点中某个upstream节点部分的内容和server节点中关于数据代理转发的location节点的内容。将所获取的某个upstream节点部分的内容和关于数据代理转发的location节点的内容作为第二配置模板。如此,将需添加的端口号替换所获取的获取http节点中某个upstream节点部分的内容中的端口号,并将替换后的upstream节点部分插入到http节点中,将所获取的关于数据代理转发的location节点部分的内容插入到server节点中,即可形成第三目标配置文件。
S2044,将所述第三目标配置文件推送到所述第二宿主机中。
需要注意的是,本实施中的S2041、S2042、S2044与图2实施例中的类似,具体请参看图2实施例中的描述,在此不再赘述。
S205,将后端应用所添加的端口号更新至数据库。
在一实施例中,所述方法还包括:
S206,重启所述多活负载均衡应用的多活负载均衡服务,以使得LVS负载均衡应用的配置文件以及Nginx负载均衡应用的配置文件的修改生效。
该实施例涉及到多活负载均衡应用的后端应用的端口添加,如此实现了服务接口的多样性;而且多活负载均衡应用的后端应用的端口添加的过程自动执行,提高了多活负载均衡应用的后端应用的端口添加的速度和效率;由于是自动执行,因此无需专业人员登陆到相应容器上进行操作,减少了人工成本和时间成本,也降低了后端应用的端口添加出错的概率。
需要注意的是,上述方法实施例中,多活负载均衡应用的LVS负载均衡应用的配置文件和Nginx负载均衡应用的配置文件可能在同一个宿主机上,那么第一宿主机和第二宿主机指的是相同的宿主机。若多活负载均衡应用的LVS负载均衡应用的配置文件和Nginx负载均衡应用的配置文件不在同一个宿主机上,那么第一宿主机和第二宿主机指的是不同的宿主机。
图7是本申请实施例提供的多活负载均衡应用的端口添加装置的示意性框图。该装置包括用于执行上述多活负载均衡应用的端口添加方法所对应的单元。如图7所示,该多活负载均衡应用的端口添加装置100包括第一获取单元101、存在判断单元102、提示单元103、第一配置单元104、第二配置单元105、数据更新单元106。
第一获取单元101,用于若接收到多活负载均衡应用中的LVS负载均衡应用的端口添加请求,获取所述端口添加请求中的待添加的端口号。
存在判断单元102,用于判断所述待添加的端口号是否已经存在。
提示单元103,用于若所述待添加的端口号已经存在,进行提示。
第一配置单元104,用于若所述待添加的端口号不存在,根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息。
在一实施例中,如图8所示,第一配置单元104包括第一宿主机确定单元1041、第一下载单元1042、第一添加单元1043、第一推送单元1044。其中,第一宿主机确定单元1041,用于根据所述多活负载均衡应用的信息确定保存LVS负载均衡应用的配置文件的宿主机,将所述宿主机作为第一宿主机。第一下载单元1042,用于将所述LVS负载均衡应用的配置文件从所述第一宿主机中下载到本地。第一添加单元1043,用于根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息,以得到第一目标配置文件。第一推送单元1044,用于将所述第一目标配置文件推送到所述第一宿主机中。
其中,在一实施例中,第一添加单元1043包括配置获取单元、填充单元、追加单元。其中,配置获取单元,用于获取第一配置模板、所述待添加的端口号、所述多活负载均衡应用的虚拟IP以及Nginx负载均衡应用中的Nginx容器信息,其中,第一配置模板是一个端口号所对应的配置模板。填充单元,用于将所述待添加的端口号、所述虚拟IP以及所述Nginx容器信息,填充到所述第一配置模板中的相应位置,以形成所述待添加的端口号所对应的配置信息。追加单元,用于将所述待添加的端口号所对应的配置信息追加到所述LVS负载均衡应用的配置文件的末尾以形成第一目标配置文件。
第二配置单元105,用于在所述Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息。
在一实施例中,如图9所示,第二配置单元105,包括第二宿主机确定单元1051、第二下载单元1052、第二添加单元1053、第二推送单元1054。其中,第二宿主机确定单元1051,用于根据所述多活负载均衡应用的信息确定保存Nginx负载均衡应用的配置文件的宿主机,将所述宿主机作为第二宿主机。第二下载单元1052,用于将所述Nginx负载均衡应用的配置文件从所述第二宿主机中下载到本地。第二添加单元1053,用于在所述Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息,以形成第二目标配置文件。第二推送单元1054,用于将所述第二目标配置文件推送到所述第二宿主机中。
数据更新单元106,用于将所添加的端口号更新至数据库。
在一实施例中,所述多活负载均衡应用的端口添加装置还包括重启单元107。重启单元107,用于重启所述多活负载均衡应用的多活负载均衡服务,以使得LVS负载均衡应用的配置文件以及Nginx负载均衡应用的配置文件的修改生效。
图10是本申请另一实施例提供的多活负载均衡应用的端口添加装置的示意性框图。如图10所示,该多活负载均衡应用的端口添加装置200包括第一获取单元201、存在判断单元202、提示单元203、第一配置单元204、第二配置单元205、数据更新单元206、第二获取单元207、第三配置单元208。其中,第一获取单元201、存在判断单元202、提示单元203、第一配置单元204、第二配置单元205、数据更新单元206请参看图7实施例中的第一获取单元101、存在判断单元102、提示单元103、第一配置单元104、第二配置单元105、数据更新单元106的描述。另外,该实施例与图7所示的实施例的区别还在于:
所述第二获取单元207,用于若接收到多活负载均衡应用的后端应用的端口添加请求,获取所述端口添加请求中的需添加的端口号。
所述存在判断单元202,还用于判断所述需添加的端口号是否已经存在。
所述提示单元203,还用于若所述需添加的端口号存在,进行提示。
第三配置单元208,用于若所述需添加的端口号不存在,根据所述需添加的端口号、第二配置模板在所述Nginx负载均衡应用的配置文件中加入需添加的端口号所对应的配置信息。
数据更新单元206,还用于将后端应用所添加的端口号更新至数据库。
在一实施例中,所述多活负载均衡应用的端口添加装置200还包括重启单元209。重启单元209,用于重启所述多活负载均衡应用的多活负载均衡服务,以使得LVS负载均衡应用的配置文件以及Nginx负载均衡应用的配置文件的修改生效。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图11所示的计算机设备上运行。
图11为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如PaaS平台中的服务器等。该设备100包括通过系统总线101连接的处理器102、存储器和网络接口103,其中,存储器可以包括非易失性存储介质104和内存储器105。
该非易失性存储介质104可存储操作系统1041和计算机程序1042。该非易失性存储介质中所存储的计算机程序1042被处理器102执行时,可实现上述服务器中所述的多活负载均衡应用的端口添加方法。该处理器102用于提供计算和控制能力,支撑整个设备100的运行。该内存储器105为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器102执行时,可使得处理器102执行上述服务器中所述的多活负载均衡应用的端口添加方法。该网络接口103用于进行网络通信。本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器102用于运行存储在存储器中的计算机程序,以实现上述多活负载均衡应用的端口添加方法的任一实施例。
应当理解,在本申请实施例中,所称处理器102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(应用程序lication Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时实现上述多活负载均衡应用的端口添加方法的任一实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种多活负载均衡应用的端口添加方法,其特征在于,所述多活负载均衡应用包括LVS负载均衡应用和Nginx负载均衡应用,所述方法包括:
若接收到多活负载均衡应用中的LVS负载均衡应用的端口添加请求,获取所述端口添加请求中的待添加的端口号;
判断所述待添加的端口号是否已经存在;
若所述待添加的端口号不存在,根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息;
根据所述多活负载均衡应用的信息确定保存Nginx负载均衡应用的配置文件的宿主机,将所述宿主机作为第二宿主机;
将所述Nginx负载均衡应用的配置文件从所述第二宿主机中下载到本地;
在所述Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息,以形成第二目标配置文件;
将所述第二目标配置文件推送到所述第二宿主机中;
将所添加的端口号更新至数据库。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息,包括:
根据所述多活负载均衡应用的信息确定保存LVS负载均衡应用的配置文件的宿主机,将所述宿主机作为第一宿主机;
将所述LVS负载均衡应用的配置文件从所述第一宿主机中下载到本地;
根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息,以得到第一目标配置文件;
将所述第一目标配置文件推送到所述第一宿主机中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息,以得到第一目标配置文件,包括:
获取第一配置模板、所述待添加的端口号、所述多活负载均衡应用的虚拟IP以及Nginx负载均衡应用中的Nginx容器信息,其中,第一配置模板是一个端口号所对应的配置模板;
将所述待添加的端口号、所述虚拟IP以及所述Nginx容器信息,填充到所述第一配置模板中的相应位置,以形成所述待添加的端口号所对应的配置信息;
将所述待添加的端口号所对应的配置信息追加到所述LVS负载均衡应用的配置文件的末尾以形成第一目标配置文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到多活负载均衡应用的后端应用的端口添加请求,获取所述端口添加请求中的需添加的端口号;
判断所述需添加的端口号是否已经存在;
若所述需添加的端口号不存在,根据所述需添加的端口号、第二配置模板在所述Nginx负载均衡应用的配置文件中加入需添加的端口号所对应的配置信息;
将后端应用所添加的端口号更新至数据库。
5.根据权利要求4所述的方法,其特征在于,根据所述需添加的端口号、第二配置模板在所述Nginx负载均衡应用的配置文件中加入需添加的端口号所对应的配置信息,包括:
根据所述多活负载均衡应用的信息确定保存Nginx负载均衡应用的配置文件的宿主机,将所述宿主机作为第二宿主机;
将所述Nginx负载均衡应用的配置文件从所述第二宿主机中下载到本地;
根据所述需添加的端口号、第二配置模板在所述Nginx负载均衡应用的配置文件中加入需添加的端口号所对应的配置信息,以形成第三目标配置文件;
将所述第三目标配置文件推送到所述第二宿主机中。
6.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
重启所述多活负载均衡应用的多活负载均衡服务,以使得LVS负载均衡应用的配置文件以及Nginx负载均衡应用的配置文件的修改生效。
7.一种多活负载均衡应用的端口添加装置,其特征在于,所述多活负载均衡应用包括LVS负载均衡应用和Nginx负载均衡应用,所述多活负载均衡应用的端口添加装置包括:
第一获取单元,用于若接收到多活负载均衡应用中的LVS负载均衡应用的端口添加请求,获取所述端口添加请求中的待添加的端口号;
存在判断单元,用于判断所述待添加的端口号是否已经存在;
第一配置单元,用于若所述待添加的端口号不存在,根据所述待添加的端口号、第一配置模板在所述LVS负载均衡应用的配置文件中加入待添加的端口号所对应的配置信息;
第二宿主机确定单元,用于根据所述多活负载均衡应用的信息确定保存Nginx负载均衡应用的配置文件的宿主机,将所述宿主机作为第二宿主机;
第二下载单元,用于将所述Nginx负载均衡应用的配置文件从所述第二宿主机中下载到本地;
第二添加单元,用于在所述Nginx负载均衡应用的配置文件中加入监听所添加的端口号的配置信息,以形成第二目标配置文件;
第二推送单元,用于将所述第二目标配置文件推送到所述第二宿主机中;
数据更新单元,用于将所添加的端口号更新至数据库。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910527668.4A CN110413371B (zh) | 2019-06-18 | 2019-06-18 | 多活负载均衡应用的端口添加方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910527668.4A CN110413371B (zh) | 2019-06-18 | 2019-06-18 | 多活负载均衡应用的端口添加方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413371A CN110413371A (zh) | 2019-11-05 |
CN110413371B true CN110413371B (zh) | 2023-08-15 |
Family
ID=68359326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910527668.4A Active CN110413371B (zh) | 2019-06-18 | 2019-06-18 | 多活负载均衡应用的端口添加方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413371B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338058A (zh) * | 2015-09-24 | 2016-02-17 | 新浪网技术(中国)有限公司 | 一种应用更新的方法及装置 |
CN107210924A (zh) * | 2014-12-29 | 2017-09-26 | 瑞典爱立信有限公司 | 用于配置通信系统的方法和设备 |
US10193809B1 (en) * | 2015-09-30 | 2019-01-29 | Cisco Technology, Inc. | Load balancing methods based on transport layer port numbers for a network switch |
CN109347652A (zh) * | 2018-08-31 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 服务器集群的服务管理方法和装置 |
CN109451065A (zh) * | 2018-12-26 | 2019-03-08 | 中电福富信息科技有限公司 | 一种软负载均衡分流自动化系统及其运行方法 |
CN109842651A (zh) * | 2017-11-27 | 2019-06-04 | 中国移动通信集团上海有限公司 | 一种业务不间断的负载均衡方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012131428A1 (en) * | 2011-03-28 | 2012-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus and computer program product for updating load balancer configuration data |
-
2019
- 2019-06-18 CN CN201910527668.4A patent/CN110413371B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107210924A (zh) * | 2014-12-29 | 2017-09-26 | 瑞典爱立信有限公司 | 用于配置通信系统的方法和设备 |
CN105338058A (zh) * | 2015-09-24 | 2016-02-17 | 新浪网技术(中国)有限公司 | 一种应用更新的方法及装置 |
US10193809B1 (en) * | 2015-09-30 | 2019-01-29 | Cisco Technology, Inc. | Load balancing methods based on transport layer port numbers for a network switch |
CN109842651A (zh) * | 2017-11-27 | 2019-06-04 | 中国移动通信集团上海有限公司 | 一种业务不间断的负载均衡方法和系统 |
CN109347652A (zh) * | 2018-08-31 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 服务器集群的服务管理方法和装置 |
CN109451065A (zh) * | 2018-12-26 | 2019-03-08 | 中电福富信息科技有限公司 | 一种软负载均衡分流自动化系统及其运行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110413371A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095711B2 (en) | DNS Resolution of internal tenant-specific domain addresses in a multi-tenant computing environment | |
JP7014887B2 (ja) | Pduタイプ設定方法、ueポリシー設定方法、および関連エンティティ | |
JP6091724B2 (ja) | リンクのヘルスチェック方法および装置 | |
US9112929B2 (en) | Method, apparatus and system for accessing virtual private network by virtual private cloud | |
US9935980B2 (en) | Adding firewall security policy dynamically to support group VPN | |
US20150082378A1 (en) | System and method for enabling scalable isolation contexts in a platform | |
US9276953B2 (en) | Method and apparatus to detect and block unauthorized MAC address by virtual machine aware network switches | |
CN110224860B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US20180013660A1 (en) | Namespace routing | |
CN110266761B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US9935834B1 (en) | Automated configuration of virtual port channels | |
EP3624401B1 (en) | Systems and methods for non-intrusive network performance monitoring | |
WO2019052058A1 (zh) | 一种域名重定向方法和系统 | |
CN111953770B (zh) | 一种路由转发方法、装置、路由设备及可读存储介质 | |
JP7470786B2 (ja) | 情報報告方法、データ処理方法、及び装置 | |
CN110413371B (zh) | 多活负载均衡应用的端口添加方法、装置、设备及存储介质 | |
US20110231480A1 (en) | Server apparatus, network access method, and computer program | |
CN110995763B (zh) | 一种数据处理方法、装置、电子设备和计算机存储介质 | |
CN112600953A (zh) | 用于域名解析系统的负载实现方法、装置、设备及介质 | |
CN110399137B (zh) | 多活负载均衡应用的端口删除方法、装置、设备及存储介质 | |
US20230336468A1 (en) | Packet-Based Network Delivery Control | |
US10079725B1 (en) | Route map policies for network switches | |
CN109417513B (zh) | 软件定义网络中动态检测对端的系统和方法 | |
CN110399137A (zh) | 多活负载均衡应用的端口删除方法、装置、设备及存储介质 | |
CN110365742B (zh) | 多活负载均衡应用创建方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |