CN112346899B - 微服务性能优化方法及装置 - Google Patents

微服务性能优化方法及装置 Download PDF

Info

Publication number
CN112346899B
CN112346899B CN202011230112.8A CN202011230112A CN112346899B CN 112346899 B CN112346899 B CN 112346899B CN 202011230112 A CN202011230112 A CN 202011230112A CN 112346899 B CN112346899 B CN 112346899B
Authority
CN
China
Prior art keywords
server cluster
nginx
server
micro
cluster
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
Application number
CN202011230112.8A
Other languages
English (en)
Other versions
CN112346899A (zh
Inventor
白志凌
郑恒
蒙进财
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing VRV Software Corp Ltd
Original Assignee
Beijing VRV Software Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing VRV Software Corp Ltd filed Critical Beijing VRV Software Corp Ltd
Priority to CN202011230112.8A priority Critical patent/CN112346899B/zh
Publication of CN112346899A publication Critical patent/CN112346899A/zh
Application granted granted Critical
Publication of CN112346899B publication Critical patent/CN112346899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种微服务性能优化方法及装置,结合了Keepalived服务器集群以及Nginx服务器集群,构建了Nginx+Keepalived的框架,它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx服务器集群的配合实现Web服务器的高可用,也能更好地利用高可用架构。

Description

微服务性能优化方法及装置
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种微服务性能优化方法及装置。
背景技术
随着互联网、云计算的进步,微服务(Microservices)越来越受到从业者的关注。微服务可以使得每个服务都进行更细粒度的切分,每个微服务都有各自的服务边界和生命周期,且各服务间配合工作完成服务。由于当前业界微服务的使用都是基于各自具体的业务特性进行框架建模,能够很好地减少传统分层框架自身存在的很多不足之处。
目前比较流行的微服务框架如图1所示,微服务架构将业务逻辑分散到了微服务集群A、微服务集群B以及微服务集群C中,各微服务间通过网络层进行通信。客户端在需要进行业务处理时,由Nginx服务器进行负载均衡,微服务集群A、微服务集群B、微服务集群C以及Zull网关服务器均在Nacos服务器中进行配置,在Nacos服务器中存在相关的配置数据。
各微服务间通过网络层进行通信会带来额外的延迟和复杂性,需要多个物理组件和逻辑组件共同协作。而且,分布式系统的额外复杂性也会增加出现网络故障的几率。如果微服务集群A出现了故障,那么微服务集群A内所有的微服务上的功能将不能在使用,这样就造成了微服务集群A不可用,进而使web服务器出现错误,对整个微服务架构造成影响,对整个项目造成很大的损失,甚至会对项目的前景造成无法挽回的损失。
发明内容
本发明提供一种微服务性能优化方法及装置,用以解决现有技术中操作的缺陷。
本发明提供一种微服务性能优化方法,包括:
基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;
基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;
基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册。
根据本发明提供一种的微服务性能优化方法,还包括:
基于Nginx检测系统,对所述Nginx服务器集群中的Nginx服务器进行检测,若判断获知所述Nginx服务器集群中任一Nginx服务器宕机,则自动重新启动所述Nginx服务器。
根据本发明提供一种的微服务性能优化方法,还包括:
基于微服务检测系统,对各微服务集群中的微服务进行检测,若判断获知任一微服务集群中任一微服务宕机,则自动重新启动所述微服务。
根据本发明提供一种的微服务性能优化方法,所述基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离,具体包括:
基于所述Keepalived服务器集群在网络层向所述Nginx服务器子集群中每一Nginx服务器发送控制信息,若未接收到所述Nginx服务器子集群中任一Nginx服务器针对所述控制信息的响应信息,则将所述Nginx服务器从所述Nginx服务器子集群中删除;
基于所述Keepalived服务器集群在传输层向所述Nginx服务器子集群中每一Nginx服务器的目标端口发送测试信息,若未接收到所述目标端口针对所述测试信息的响应信息,则将所述Nginx服务器从所述Nginx服务器子集群中删除;
基于所述Keepalived服务器集群在链路层根据设定参数检测所述Nginx服务器子集群中每一Nginx服务器的指定程序或指定服务,若检测结果与所述设定参数对应的理论结果不一致,则将所述Nginx服务器从所述Nginx服务器子集群中删除。
根据本发明提供一种的微服务性能优化方法,所述Keepalived服务器集群中包括:Keepalived主服务器和Keepalived备服务器。
根据本发明提供一种的微服务性能优化方法,所述Nginx服务器集群中各Nginx服务器的配置信息,具体包括:
全局错误日志及PID文件、工作模式及最大并发链接数、设定http服务器、设定请求缓冲、设定连接超时时间、开启gzip压缩、添加tomcat列表、默认请求设置、jsp页面处理、静态文件读取以及定义错误提示页面。
根据本发明提供一种的微服务性能优化方法,还包括:
基于故障隔离后得到的Nginx服务器集群中各Nginx服务器的服务配置说明,进行浏览器测试。
本发明还提供一种微服务性能优化装置,包括:故障隔离模块、负载均衡模块以及配置注册模块。其中,
故障隔离模块用于基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;
负载均衡模块用于基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;
配置注册模块用于基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述微服务性能优化方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述微服务性能优化方法的步骤。
本发明提供的微服务性能优化方法及装置,结合了Keepalived服务器集群以及Nginx服务器集群,构建了Nginx+Keepalived的框架,它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx服务器集群的配合实现Web服务器的高可用,也能更好地利用高可用架构。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中微服务框架的结构示意图之一;
图2是本发明提供的一种微服务性能优化方法的流程示意图;
图3是本发明提供的一种微服务高可用架构的结构示意图;
图4是本发明提供的一种微服务性能优化装置的结构示意图;
图5是本发明提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例中提供的一种微服务性能优化方法的流程示意图。如图2所示,该方法包括:
S1,基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;
S2,基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;
S3,基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册。
具体地,本发明实施例中提供的微服务性能优化方法,其执行主体为微服务性能优化装置,以微服务高可用架构为基础,实现对微服务集群中各微服务的性能优化。
首先执行步骤S1。其中,Keepalived服务器集群中包含有多个Keepalived服务器,可以选取其中一个作为Keepalived主服务器,其他的均作为Keepalived备服务器。Keepalived服务器集群的功能首先通过Keepalived主服务器实现,如果Keepalived主服务器宕机,则Keepalived备服务器立刻启动,替代Keepalived主服务器实现相应功能。
Keepalived服务器一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,Keepalived服务器的作用是检测Nginx服务器集群中各Nginx服务器的运行状态,如果有一台Nginx服务器宕机,或工作出现故障,Keepalived服务器将检测到,并将有故障的Nginx服务器从Nginx服务器集群中剔除,同时使用其他Nginx服务器代替该剔除的Nginx服务器的工作;当Nginx服务器工作正常后Keepalived自动将Nginx服务器加入到Nginx服务器群中,这些工作全部自动完成,不需要人工干涉。
故障隔离,即健康检查和失败切换是Keepalived服务器的核心功能,健康检查,是指采用tcp三次握手、icmp请求、http请求以及udp echo请求等方式对Nginx服务器后面的实际的微服务进行保活;而失败切换主要是应用于配置了主备模式的Nginx服务器集群,利用虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)维持主备Nginx服务器的心跳,当Nginx主服务器出现问题时,由Nginx备服务器承载对应的业务,从而在最大限度上减少流量损失,并提供服务的稳定性。
然后执行步骤S2。Nginx服务器集群包括多个Nginx服务器,Nginx服务器是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,通过与keepalived合并能够使服务高可用。通过故障隔离后得到的Nginx服务器集群,可以分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡。
最后执行步骤S3。Nacos服务器集群包括多个Nacos服务器,通过Nacos服务器集群,可以分别对Zull网关服务器集群以及各微服务集群进行配置。Zull网关服务器集群包括多个Zull网关服务器,通过Zull网关服务器集群,可以对各微服务集群中的微服务进行注册。
本发明实施例中提供的微服务性能优化方法,结合了Keepalived服务器集群以及Nginx服务器集群,构建了Nginx+Keepalived的框架,它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx服务器集群的配合实现Web服务器的高可用,也能更好地利用高可用架构。其中,web服务器是指调用高可用框架的服务器,例如客户端侧的前端服务器。
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,还包括:
基于Nginx检测系统,对所述Nginx服务器集群中的Nginx服务器进行检测,若判断获知所述Nginx服务器集群中任一Nginx服务器宕机,则自动重新启动所述Nginx服务器。
具体地,本发明实施例中的微服务高可用架构还包括Nginx检测系统,通过Nginx检测系统可以实现对Nginx服务器集群中的Nginx服务器进行检测。如果Nginx检测系统检测到Nginx服务器集群中任一Nginx服务器宕机,则自动重新启动该宕机的Nginx服务器。其中,宕机是指操作系统无法从一个严重系统错误中恢复过来,或系统硬件层面出问题,以致系统长时间无响应,而不得不重新启动计算机的现象。
本发明实施例中,引入Nginx检测系统,可以进一步提高微服务的高可用性。实时检测Nginx服务器是否正常,如果检测出Nginx服务器不正常,可以通过Nginx检测系统,自动拉起服务,进一步保证了Nginx服务器的高可用性,也为微服务的高可用打下坚实的基础。
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,还包括:
基于微服务检测系统,对各微服务集群中的微服务进行检测,若判断获知任一微服务集群中任一微服务宕机,则自动重新启动所述微服务。
具体地,本发明实施例中的微服务高可用架构还包括微服务检测系统,通过微服务检测系统可以实现对微服务集群中的微服务进行检测。如果微服务检测系统检测到任一微服务集群中任一微服务宕机,则自动重新启动该宕机的微服务。
本发明实施例中,引入微服务检测系统,对宕机服务进行检测和重启,可以保证服务的可持续性,进一步提高微服务的高可用性。
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,可以在微服务高可用架构中同时包括Nginx检测系统以及微服务检测系统,通过Nginx+Keepalived实现微服务的高可用框架,通过Nginx检测系统保证了Nginx服务器集群的稳定性和健壮性,通过微服务检测系统保证了微服务集群的健壮性和持续性,充分展示了微服务可用性和架构的安全性,尽可能的会避免由于服务宕机造成的系统不稳定或者web服务器页面异常的情况。即使某一Nginx服务器宕机了也可以通过Nginx检测系统再次将服务拉起,可达到持续的高可用状态。
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,所述基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离,具体包括:
基于所述Keepalived服务器集群在网络层向所述Nginx服务器子集群中每一Nginx服务器发送控制信息,若未接收到所述Nginx服务器子集群中任一Nginx服务器针对所述控制信息的响应信息,则将所述Nginx服务器从所述Nginx服务器子集群中删除;
基于所述Keepalived服务器集群在传输层向所述Nginx服务器子集群中每一Nginx服务器的目标端口发送测试信息,若未接收到所述目标端口针对所述测试信息的响应信息,则将所述Nginx服务器从所述Nginx服务器子集群中删除;
基于所述Keepalived服务器集群在链路层根据设定参数检测所述Nginx服务器子集群中每一Nginx服务器的指定程序或指定服务,若检测结果与所述设定参数对应的理论结果不一致,则将所述Nginx服务器从所述Nginx服务器子集群中删除。
具体地,Keepalived服务器集群通常工作在TCP/IP参考模型的第三层(网络层)、第四层(物理层)以及第五层(链路层)。Keepalived服务器集群获取Nginx服务器集群中各Nginx服务器的运行状态和故障隔离的工作原理具体如下:
网络层:Keepalived服务器集群通过Internet控制报文协议(Internet ControlMessage Protocol,ICMP)向Nginx服务器子集群中的每一Nginx服务器发送控制信息,该控制信息可以是一个ICMP数据包。如果在预设时间段内未收到某个Nginx服务器针对该控制信息的响应信息,那么认为该Nginx服务器发生了故障,Keepalived服务器集群将报告这个Nginx服务器失效,并从Nginx服务器集群中剔除该Nginx服务器。
传输层:Keepalived服务器集群在传输层里利用了传输控制协议(TransmissionControl Protocol,TCP)的端口连接和扫描技术来判断Nginx服务器子集群中每一Nginx服务器的目标端口发送测试信息,以判断目标端口是否正常。例如,目标端口可以是常见的WEB服务器80端口或者SSH服务22端口,Keepalived服务器集群一旦在传输层未探测到某一目标端口针对测试信息的响应信息,就认为该目标端口发生异常,然后强制将该目标端口所对应的Nginx服务器从Nginx服务器集群中剔除掉。
应用层:用户可以通过自定义Keepalived服务器集群的工作方式,例如:可以通过编写程序或者脚本来运行Keepalived服务器集群,而Keepalived服务器集群将根据用户的设定参数检测Nginx服务器的指定程序或指定服务是否允许正常,如果Keepalived服务器集群的检测结果和设定参数对应的理论结果不一致时,Keepalived服务器集群将把对应的Nginx服务器从Nginx服务器集群中剔除。
图3为本发明实施例中提供的微服务高可用架构的结构示意图。如图3所示,该微服务高可用架构包括客户端1、Keepalived服务器集群2、Nginx服务器集群3、Nacos服务器集群4、Zull网关服务器集群5、微服务集群6、Nginx检测系统7以及微服务检测系统8,每个集群中均包含有三个对象。除此之外,还包含有基础组件mq、Mysql以及其他,还包含有大数据组件、Elasticsearch以及其他。
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,在搭建微服务高可用架构时,可以先准备6台VM虚拟机,三台用来做keepalived服务,三台用来做测试的web服务器。具体参数如下:
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,Nginx服务器集群中各Nginx服务器的配置信息,具体包括:
全局错误日志及PID文件、工作模式及最大并发链接数、设定http服务器、设定请求缓冲、设定连接超时时间、开启gzip压缩、添加tomcat列表、默认请求设置、jsp页面处理、静态文件读取以及定义错误提示页面。
具体地,本发明实施例中Nginx服务器集群中各Nginx服务器的配置文件中包含有配置信息,配置文件具体如下:
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,Keepalived服务器集群中Keepalived主服务器的配置文件(master上的keepalived.conf)具体如下:
/>
/>
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,Keepalived服务器集群中Keepalived备服务器的配置文件(backup上的keepalived.conf)具体如下:
/>
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,Nginx检测系统的关键脚本check_nginx_pid.sh内容如下:
/>
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,微服务检测系统的关键代码:
/>
在上述实施例的基础上,本发明实施例中提供的微服务性能优化方法,还包括:
基于故障隔离后得到的Nginx服务器集群中各Nginx服务器的服务配置说明,进行浏览器测试。
具体地,浏览器是指客户端浏览器。例如,当浏览器显示“www web01”,则说明微服务高可用架构的基本环境搭建完成。
在上述实施例的基础上,如图4所示,为本发明实施例中提供的一种微服务性能优化装置的结构示意图。该微服务性能优化装置具体包括:故障隔离模块41、负载均衡模块42以及配置注册模块43。
其中,故障隔离模块41用于基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;
负载均衡模块42用于基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;
配置注册模块43用于基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册。
具体地,本发明实施例中提供的微服务性能优化装置中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行微服务性能优化方法,该方法包括:基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的微服务性能优化方法,该方法包括:基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的微服务性能优化方法,该方法包括:基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种微服务性能优化方法,其特征在于,包括:
基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;
基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;
基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册;
所述基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离,具体包括:
基于所述Keepalived服务器集群在网络层向所述Nginx服务器集群中每一Nginx服务器发送控制信息,若未接收到所述Nginx服务器集群中任一Nginx服务器针对所述控制信息的响应信息,则将所述Nginx服务器从所述Nginx服务器集群中删除;
基于所述Keepalived服务器集群在传输层向所述Nginx服务器集群中每一Nginx服务器的目标端口发送测试信息,若未接收到所述目标端口针对所述测试信息的响应信息,则将所述Nginx服务器从所述Nginx服务器集群中删除;
基于所述Keepalived服务器集群在链路层根据设定参数检测所述Nginx服务器集群中每一Nginx服务器的指定程序或指定服务,若检测结果与所述设定参数对应的理论结果不一致,则将所述Nginx服务器从所述Nginx服务器集群中删除。
2.根据权利要求1所述的微服务性能优化方法,其特征在于,还包括:
基于Nginx检测系统,对所述Nginx服务器集群中的Nginx服务器进行检测,若判断获知所述Nginx服务器集群中任一Nginx服务器宕机,则自动重新启动所述Nginx服务器。
3.根据权利要求1所述的微服务性能优化方法,其特征在于,还包括:
基于微服务检测系统,对各微服务集群中的微服务进行检测,若判断获知任一微服务集群中任一微服务宕机,则自动重新启动所述微服务。
4.根据权利要求1所述的微服务性能优化方法,其特征在于,所述Keepalived服务器集群中包括:Keepalived主服务器和Keepalived备服务器。
5.根据权利要求1-4中任一项所述的微服务性能优化方法,其特征在于,所述Nginx服务器集群中各Nginx服务器的配置信息,具体包括:
全局错误日志及PID文件、工作模式及最大并发链接数、设定http服务器、设定请求缓冲、设定连接超时时间、开启gzip压缩、添加tomcat列表、默认请求设置、jsp页面处理、静态文件读取以及定义错误提示页面。
6.根据权利要求1-4中任一项所述的微服务性能优化方法,其特征在于,还包括:
基于故障隔离后得到的Nginx服务器集群中各Nginx服务器的服务配置说明,进行浏览器测试。
7.一种微服务性能优化装置,其特征在于,包括:
故障隔离模块,用于基于Keepalived服务器集群,确定Nginx服务器集群中各Nginx服务器的运行状态,并进行故障隔离;
负载均衡模块,用于基于故障隔离后得到的Nginx服务器集群,分别对Nacos服务器集群以及Zull网关服务器集群进行负载均衡;
配置注册模块,用于基于Nacos服务器集群,对所述Zull网关服务器集群以及各微服务集群进行配置,并基于所述Zull网关服务器集群,对各微服务集群中的微服务进行注册;
所述故障隔离模块,具体用于:
基于所述Keepalived服务器集群在网络层向所述Nginx服务器集群中每一Nginx服务器发送控制信息,若未接收到所述Nginx服务器集群中任一Nginx服务器针对所述控制信息的响应信息,则将所述Nginx服务器从所述Nginx服务器集群中删除;
基于所述Keepalived服务器集群在传输层向所述Nginx服务器集群中每一Nginx服务器的目标端口发送测试信息,若未接收到所述目标端口针对所述测试信息的响应信息,则将所述Nginx服务器从所述Nginx服务器集群中删除;
基于所述Keepalived服务器集群在链路层根据设定参数检测所述Nginx服务器集群中每一Nginx服务器的指定程序或指定服务,若检测结果与所述设定参数对应的理论结果不一致,则将所述Nginx服务器从所述Nginx服务器集群中删除。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述微服务性能优化方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述微服务性能优化方法的步骤。
CN202011230112.8A 2020-11-06 2020-11-06 微服务性能优化方法及装置 Active CN112346899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011230112.8A CN112346899B (zh) 2020-11-06 2020-11-06 微服务性能优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011230112.8A CN112346899B (zh) 2020-11-06 2020-11-06 微服务性能优化方法及装置

Publications (2)

Publication Number Publication Date
CN112346899A CN112346899A (zh) 2021-02-09
CN112346899B true CN112346899B (zh) 2024-02-09

Family

ID=74428530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011230112.8A Active CN112346899B (zh) 2020-11-06 2020-11-06 微服务性能优化方法及装置

Country Status (1)

Country Link
CN (1) CN112346899B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112968960A (zh) * 2021-02-22 2021-06-15 同济大学 一种基于开源组件的微服务架构
CN113515403B (zh) * 2021-06-23 2021-11-16 平安科技(深圳)有限公司 微服务状态检查方法、计算机设备及存储介质
CN114124673A (zh) * 2021-11-25 2022-03-01 杭州安恒信息技术股份有限公司 一种syslog日志对比测试与主备高可用的方法
CN114500027B (zh) * 2022-01-21 2024-01-12 杭州玳数科技有限公司 基于Nacos的服务注册和服务调用的方法和系统
CN117955984B (zh) * 2024-03-26 2024-06-25 苏州元脑智能科技有限公司 服务器调度方法、装置、系统、计算机设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566466A (zh) * 2017-08-24 2018-01-09 新华三大数据技术有限公司 负载均衡方法及装置
CN107872525A (zh) * 2017-11-09 2018-04-03 杭州东方通信软件技术有限公司 一种微服务调用架构
CN108200124A (zh) * 2017-12-12 2018-06-22 武汉烽火众智数字技术有限责任公司 一种高可用应用程序架构及构建方法
CN108259252A (zh) * 2018-04-17 2018-07-06 四川长虹电器股份有限公司 一种基于twemproxy的Redis集群方法
CN109104482A (zh) * 2018-08-09 2018-12-28 北斗地网(重庆)科技集团有限公司 一种地网平台的分布式系统
CN109618002A (zh) * 2019-01-11 2019-04-12 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN110149397A (zh) * 2019-05-20 2019-08-20 湖北亿咖通科技有限公司 一种微服务整合方法和装置
CN110601994A (zh) * 2019-10-14 2019-12-20 南京航空航天大学 云环境下微服务链感知的负载均衡方法
CN111835685A (zh) * 2019-04-19 2020-10-27 厦门网宿有限公司 一种监控Nginx网络隔离空间的运行状态的方法和服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842045B2 (en) * 2016-02-19 2017-12-12 International Business Machines Corporation Failure recovery testing framework for microservice-based applications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566466A (zh) * 2017-08-24 2018-01-09 新华三大数据技术有限公司 负载均衡方法及装置
CN107872525A (zh) * 2017-11-09 2018-04-03 杭州东方通信软件技术有限公司 一种微服务调用架构
CN108200124A (zh) * 2017-12-12 2018-06-22 武汉烽火众智数字技术有限责任公司 一种高可用应用程序架构及构建方法
CN108259252A (zh) * 2018-04-17 2018-07-06 四川长虹电器股份有限公司 一种基于twemproxy的Redis集群方法
CN109104482A (zh) * 2018-08-09 2018-12-28 北斗地网(重庆)科技集团有限公司 一种地网平台的分布式系统
CN109618002A (zh) * 2019-01-11 2019-04-12 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN111835685A (zh) * 2019-04-19 2020-10-27 厦门网宿有限公司 一种监控Nginx网络隔离空间的运行状态的方法和服务器
CN110149397A (zh) * 2019-05-20 2019-08-20 湖北亿咖通科技有限公司 一种微服务整合方法和装置
CN110601994A (zh) * 2019-10-14 2019-12-20 南京航空航天大学 云环境下微服务链感知的负载均衡方法

Also Published As

Publication number Publication date
CN112346899A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
CN112346899B (zh) 微服务性能优化方法及装置
US8959395B2 (en) Method and system for providing high availability to computer applications
US11070431B2 (en) System and method for network validation architecture for clustered and federated storage systems
CN108476231B (zh) 用于经由中间装置维持会话的系统和方法
CN110224871B (zh) 一种Redis集群的高可用方法及装置
US8683269B2 (en) Protocol software component and test apparatus
EP2839629B1 (en) Binding crud-type protocols in distributed agreement protocols
CN106911648B (zh) 一种环境隔离方法及设备
CN107241208B (zh) 一种报文转发方法、第一交换机及相关系统
WO2017071384A1 (zh) 报文处理的方法及装置
JP2009238098A (ja) セッション管理方法、ストレージ装置、及び、計算機システム
US10645163B2 (en) Site-aware cluster management
US20090296697A1 (en) Method for verifying shared state synchronization of redundant modules in a high availability network switch
CN113300913B (zh) 一种设备测试方法、装置、测试设备及存储介质
CN113114800B (zh) 一种资源处理方法及装置
Kitamura et al. Development of a Server Management System Incorporating a Peer-to-Peer Method for Constructing a High-availability Server System
CN114328216A (zh) 一种漏洞挖掘的方法和装置
CN110086660B (zh) 一种数据处理方法及装置
CN112367386A (zh) 基于Ignite的自动化运维方法、装置及计算机设备
US11947431B1 (en) Replication data facility failure detection and failover automation
CN115190040B (zh) 虚拟机高可用的实现方法及装置
CN116094940B (zh) 一种vrrp脑裂抑制方法、系统、设备及存储介质
CN111131492A (zh) 节点访问方法和系统
CN117221317A (zh) 一种基于云边的设备数据高可用管理方法和装置
CN115865772A (zh) 流量回切方法、装置、电子设备、m-lag系统及存储介质

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