一种基于微服务架构的服务监控方法及系统与流程

文档序号:24417517发布日期:2021-03-26 21:26阅读:59来源:国知局
一种基于微服务架构的服务监控方法及系统与流程

1.本发明涉及服务治理技术领域,特别涉及一种基于微服务架构的服务监控方法及系统。


背景技术:

2.随着近年来互联网行业的快速发展,微服务架构的应用越来越广泛。微服务架构是拆分出多个可以独立开发,设计,运行和运维的服务,每个服务可以独立部署并且相互隔离,服务之间通过应用程序编程接口(application programming interface,api)调用。依靠服务之间的调用,来服务用户,满足用户的需求。
3.在基于微服务架构搭建的业务服务系统中,通常需要多个微服务相互配合来完成业务服务。为了获取各个微服务的健康状态,确定业务服务是否稳定可靠,需对各微服务的网络状态进行监控。
4.相关技术仅仅提供了能够检测出微服务网络处于异常状态的技术,但是不能保证该异常状态能够及时反馈给维护人员,进而导致微服务异常状态长时间得不到处理,影响用户体验。


技术实现要素:

5.本发明的目的在于提供一种基于微服务架构的服务监控方法及系统,解决微服务网络的异常状态无法及时反馈给维护人员的技术问题。
6.第一方面,本发明实施例提供一种基于微服务架构的服务监控方法,所述方法包括:
7.根据设定的频率对各微服务进行网络访问并获取对应微服务的网络响应状态;
8.统计所述网络响应状态为异常的次数;
9.在所述网络响应状态为异常的次数达到预设的阈值时,执行异常处理策略;其中,所述异常处理策略包括:向指定的终端发送提醒短信。
10.在一个实施例中,所述异常处理策略还包括:重启网络响应状态为异常的微服务所属的服务器。
11.在一个实施例中,所述重启网络响应状态为异常的微服务所属的服务器,具体为:
12.通过远程控制的方式向网络响应状态为异常的微服务发送重启指令。
13.在一个实施例中,在根据设定的频率对各微服务进行网络访问之前,所述方法还包括:
14.根据各微服务的业务功能为各微服务划分对应的服务类别并存储;
15.各微服务将各自的网络地址注册到consul上。
16.第二方面,本发明实施例提供一种基于微服务架构的服务监控系统,所述系统包括第一服务器,所述第一服务器包括:
17.响应状态获取模块,用于根据设定的频率对各微服务进行网络访问并获取对应微
服务的网络响应状态;
18.异常统计模块,用于统计所述网络响应状态为异常的次数;
19.第一策略执行模块,用于在所述网络响应状态为异常的次数达到预设的阈值时,向指定的终端发送提醒短信。
20.在一个实施例中,所述第一服务器还包括:
21.第二策略执行模块,用于在所述网络响应状态为异常的次数达到预设的阈值时,重启网络响应状态为异常的微服务所属的服务器。
22.在一个实施例中,第二策略执行模块包括执行子模块,所述执行子模块用于在所述网络响应状态为异常的次数达到预设的阈值时,通过远程控制的方式向网络响应状态为异常的微服务发送重启指令。
23.在一个实施例中,所述系统还包括部署有微服务的第二服务器,所述第一服务器还包括:
24.服务类别划分模块,用于根据各微服务的业务功能为各微服务划分对应的服务类别并存储;
25.所述第二服务器包括:
26.注册模块,用于将第二服务器上的微服务的网络地址注册到consul上。
27.第三方面,本发明实施例提供一种服务器,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面实施例中任一项所述的一种基于微服务架构的服务监控方法。
28.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明第一方面实施例中任一项所述的一种基于微服务架构的服务监控方法。
29.相较于现有技术,本发明提供的一种基于微服务架构的服务监控方法及系统至少具有以下的有益效果:
30.通过定时获取微服务的网络响应状态并统计所述网络响应状态为异常的次数;在所述网络响应状态为异常的次数达到预设的阈值时,向指定的终端发送提醒短信。实现了对微服务网络响应状态的实时监控,并且在发现异常之后通过发送短信的方式及时通知维护任务处理,加快了维护人员进行微服务异常处理的速度。
31.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
32.下面结合附图和实施例对本发明进一步地说明;
33.图1为微服务向consul注册网络地址的原理示意图。
34.图2为一个实施例中一种基于微服务架构的服务监控方法的应用环境图。
35.图3为一个实施例中一种基于微服务架构的服务监控方法的流程示意图。
36.图4为一个实施例中计算机设备的结构框图。
37.附图标记:
38.100、第一服务器;110、响应状态获取模块;120、异常统计模块;130、第一策略执行
模块;140、第二策略执行模块;150、服务类别划分模块;200、第二服务器;210、注册模块;300、客户端。
具体实施方式
39.本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
40.图1为微服务向consul注册网络地址的原理示意图,如图1所示,服务a

n把当前自己的网络位置注册到服务器的服务发现模块上(注册是指将网络位置存储到服务发现模块),服务发现模块以k

v的方式记录下微服务与网络位置的关系,k一般是服务名,v就是ip:port。服务发现模块定时的轮询查看这些微服务是否还能访问(即健康检查)。客户端在调用服务a

n的时候,向服务发现模块询问它们的网络位置,然后再调用它们的服务。
41.consul就是提供服务发现的工具。下面是关于consul的简单介绍:
42.consul是分布式的、高可用、横向扩展的。consul提供的一些关键特性:
43.service discovery(服务发现):consul通过dns或者http接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。
44.health checking(健康检查):健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面。
45.key/value storage(k

v存储):一个用来存储动态配置的系统。提供简单的http接口,可以在任何地方操作。
46.如图2为一个实施例中一种基于微服务架构的服务监控方法的应用环境图。参照图2,该一种基于微服务架构的服务监控方法应用于一种基于微服务架构的服务监控系统。该一种基于微服务架构的服务监控系统包括第一服务器100和第二服务器200,第一服务器100和第二服务器200通过网络连接。客户端300通过网络可以访问第一服务器100和第二服务器200,其中,第二服务器200可以是一台服务器,也可以是多台服务器,多个微服务可以部署在一台第二服务器200上,也可以分散地部署在多台服务器上。本示例中,以多个微服务部署在一台第二服务器200上进行说明。客户端300通过访问第一服务器100可以获取微服务的网络地址,进而实现对微服务的访问。
47.下面,将通过几个具体的实施例对本发明实施例提供的一种基于微服务架构的服务监控方法进行详细介绍和说明。
48.如图3所示,在一个实施例中,提供了一种基于微服务架构的服务监控方法。本实施例主要以该方法应用于计算机设备来举例说明。
49.参照图3,该基于微服务架构的服务监控方法具体包括如下步骤:
50.步骤s100,第一服务器100根据设定的频率对各微服务进行网络访问并获取对应微服务的网络响应状态。
51.具体的,对于简单的定时任务,可以直接用spring内置的schedule来实现。本示例中,通过调度任务schudle的机制,每秒或者设定频率对第二服务器200上的微服务进行网络访问,并通过spring

boot

actuator的httptrace功能获取微服务对应的网络响应状态。例如,http状态200(ok)状态代码表示该请求已经被成功地在服务器上处理,此时为正常状
态。若返回错误的响应码和非200的状态码,则判定为异常状态,并将异常状态写入日志。
52.步骤s200,第一服务器100统计所述网络响应状态为异常的次数。
53.步骤s300,第一服务器100在所述网络响应状态为异常的次数达到预设的阈值时,执行异常处理策略;其中,所述异常处理策略包括:向指定的终端发送提醒短信。
54.本示例中,阈值为5次,即当第一服务器100统计到某个微服务第五次出现异常状态时,则向指定的终端发送提醒短信。该终端可以是维护人员的移动终端,用于及时向维护人员发出提醒,加快维护人员维修的进度。
55.在一个实施例中,第一服务器100在所述网络响应状态为异常的次数达到预设的阈值时,所述异常处理策略还包括:重启网络响应状态为异常的微服务所属的服务器。在一个实例中,第一服务器100在所述网络响应状态为异常的次数达到预设的阈值时,第一服务器100远程登录并控制部署有该网络响应状态为异常的微服务的第二服务器200进行自动重启,无需人工操作,加快了微服务恢复正常服务的速度。在另一个示例中,通过远程控制的方式向网络响应状态为异常的微服务发送重启指令。通过预先布置在第二服务器200上的脚本,通过ssh的方式,维护人员可以在终端远程登录并控制第二服务器200并控制第二服务器200重启。由于能够远程控制第二服务器200,因此,维护人员还能够对第二服务器200进行其他参数的检查,进一步修复重启无法解决的问题。
56.在一个实施例中,在步骤s100之前,所述方法还包括:
57.第一服务器100根据各微服务的业务功能为各微服务划分对应的服务类别并存储;这些服务类别包括地图类(基础功能性pgis地图,矢量地图等),地址匹配(服务支撑类,正向匹配,反向匹配等),资源搜索(种类人员类,物品类,组织类等数据资源服务)等。将各微服务按照业务功能划分,便于维护人员后期查找。
58.可以理解的是,在步骤s100之前,各微服务已经将各自的网络地址注册到consul上,consul部署在第一服务器100上,便于用户通过客户端300快速找到个微服务的网络地址。
59.另一方面,本发明还提供了一种基于微服务架构的服务监控系统,如图2所示,所述系统包括第一服务器100,所述第一服务器100包括:
60.响应状态获取模块110,用于根据设定的频率对各微服务进行网络访问并获取对应微服务的网络响应状态;
61.异常统计模块120,用于统计所述网络响应状态为异常的次数;
62.第一策略执行模块130,用于在所述网络响应状态为异常的次数达到预设的阈值时,向指定的终端发送提醒短信。
63.在一个实施例中,所述第一服务器100还包括:
64.第二策略执行模块140,用于在所述网络响应状态为异常的次数达到预设的阈值时,重启网络响应状态为异常的微服务所属的服务器。
65.在一个实施例中,第二策略执行模块140包括执行子模块,所述执行子模块用于在所述网络响应状态为异常的次数达到预设的阈值时,通过远程控制的方式向网络响应状态为异常的微服务发送重启指令。
66.在一个实施例中,所述系统还包括部署有微服务的第二服务器200,所述第一服务器100还包括:
67.服务类别划分模块150,用于根据各微服务的业务功能为各微服务划分对应的服务类别并存储;
68.所述第二服务器200包括:
69.注册模块210,用于将第二服务器200上的微服务的网络地址注册到consul上。
70.可以理解的是,本发明的系统实施例与方法实施例基于相同的发明构思,能够实现上述方法实施例的所有有益效果,此处对于系统实施例不再赘述。
71.图4示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图2中的客户端300(或服务器)。如图4所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现一种基于微服务架构的服务监控方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种基于微服务架构的服务监控方法。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
72.在一个实施例中,本发明提供的一种基于微服务架构的服务监控系统的各个模块可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于微服务架构的服务监控系统的各个程序模块,比如,图2所示的响应状态获取模块110、异常统计模块120和第一策略执行模块130。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于微服务架构的服务监控方法中的步骤。
73.例如,图4所示的计算机设备可以通过如图2所示的对微服务进行访问的授权系统中的响应状态获取模块110执行根据设定的频率对各微服务进行网络访问并获取对应微服务的网络响应状态的步骤;通过异常统计模块120执行统计所述网络响应状态为异常的次数的步骤;通过第一策略执行模块130执行在所述网络响应状态为异常的次数达到预设的阈值时,向指定的终端发送提醒短信的步骤。
74.在一些实施例中,提供一种服务器,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明方法实施例中任一项所述的一种基于微服务架构的服务监控方法。
75.在一些实施例中,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明方法实施例中任一项所述的一种基于微服务架构的服务监控方法。
76.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器
(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldra)、存储器总线(rambus)直接ram(rdra)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
77.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1