一种分布式服务健康检查的方法及其系统技术方案

技术编号:22754866 阅读:22 留言:0更新日期:2019-12-07 03:52
本发明专利技术公开了一种分布式服务健康检查的方法及其系统,包括如下步骤:注册工作单元的工作任务健康参数到服务管理平台;启动健康检查服务并向服务管理平台订阅各个工作单元注册的工作任务级别的健康参数;健康检查服务周期性的向分布式服务中的各个工作单元发起健康检查;启动负载均衡服务并向健康检查服务订阅工作单元在处理某个工作任务维度上的健康度,并根据健康度调整该工作单元的任务量;本发明专利技术能够对工作单元处理工作任务进行健康检查,从而精确判断出工作单元在处理工作任务时的健康度。

A method and system of distributed service health check

The invention discloses a distributed service health inspection method and system, including the following steps: registering the work task health parameters of the work unit to the service management platform; starting the health inspection service and subscribing the health parameters of the work task level registered by each work unit to the service management platform; the health inspection service periodically subscribes to each work in the distributed service The work unit initiates health inspection; starts load balancing service and subscribes the health degree of the work unit in processing a work task dimension to the health inspection service, and adjusts the task amount of the work unit according to the health degree; the invention can perform health inspection on the work task processed by the work unit, so as to accurately determine the health degree of the work unit in processing the work task.

【技术实现步骤摘要】
一种分布式服务健康检查的方法及其系统
本专利技术涉及的云计算
,尤其涉及一种分布式服务健康检查的方法及其系统。
技术介绍
在基于分布式服务部署的云计算平台中通常会部署负载均衡服务,该服务将负载(工作任务)进行平衡并分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。负载均衡服务进行任务分派的策略之一是判断工作单元的健康度是否达标,如果工作单元的健康度异常,负载均衡在该工作单元健康恢复之前停止分派任务给该工作单元,当负载均衡服务判断工作单元恢复健康后继续将工作单元纳入工作任务的调度集合中;然而目前,负载均衡服务判断工作单元健康的方法有两种:一种是心跳检查,负载均衡服务发送一个心跳报文(例如采用TCP/UDP协议)给工作单元,工作单元在配置的时间范围内回复心跳,表示工作单元健康;第二种是API调用检查,负载均衡服务和工作单元约定一个API接口(例如采用HTTP协议),负载均衡服务调用API接口,工作单元返回预期的响应,表示工作单元健康;其工作单元一般是一台服务器,服务器执行实际工作任务的子单元(进程或线程)和用于执行健康检查的心跳任务或是响应负载均衡API调用请求的任务(进程或线程)是独立的;如果工作单元在执行处理健康检查任务的子单元出现问题,不代表工作单元处理工作任务的子单元也出现问题,因此,当前方法在判断工作单元是否健康的粒度过于粗大,无法精确判断工作单元在处理工作任务维度的健康度。
技术实现思路
本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。鉴于上述现有分布式服务健康检查的方法存在在判断工作单元是否健康的粒度过于粗大,且无法精确判断工作单元在处理工作任务维度的健康度的问题,提出了本专利技术。因此,本专利技术目的是提供一种分布式服务健康检查的方法。为解决上述技术问题,本专利技术提供如下技术方案:一种分布式服务健康检查的方法,包括如下步骤:注册工作单元的工作任务健康参数到服务管理平台;启动健康检查服务并向服务管理平台订阅各个工作单元注册的工作任务级别的健康参数;健康检查服务周期性的向分布式服务中的各个工作单元发起健康检查;启动负载均衡服务并向健康检查服务订阅工作单元在处理某个工作任务维度上的健康度,并根据健康度调整该工作单元的任务量。作为本专利技术所述分布式服务健康检查的方法的一种优选方案,其中:所述注册工作单元的工作任务健康参数到服务管理平台包括步骤:新建的工作单元在启动时通过接口调用将工作任务健康参数注册到服务管理平台;对于已有的工作单元采用手动将工作任务健康参数注册到服务管理平台;其中,所述接口通过HTTP协议实现。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:所述服务管理平台采用关系型数据库保存工作任务健康参数。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:所述健康参数区分为工作单元的访问信息和工作任务健康参数;其中,所述工作单元的访问信息包括IP地址和端口号;其中,所述工作任务健康参数包括工作单元地址、工作任务标识和工作任务内容。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:所述启动健康检查服务并向服务管理平台订阅各个工作单元注册的工作任务级别的健康参数的步骤还包括:当新的工作单元向服务管理平台注册健康参数,服务管理平台返回参数给健康检查服务。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:所述订阅采用定时轮询或/和TCP长连接的方式实现。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:所述健康检查服务周期性的向分布式服务中的各个工作单元发起健康检查的步骤包括:配置周期性检查参数;根据配置,读取工作任务检测参数;构造API请求并发送至工作单元;工作单元接收API请求并处理;工作单元返回结果给健康检测服务;健康检测服务根据返回结果评判该工作单元是否健康;其中,所述检查参数包括检测时间间隔和检测次数;其中,所述返回结果区分为返回成功、返回失败和返回超时。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:所述健康度区分为健康和不健康。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:所述负载均衡服务向健康检查服务订阅方式与所述健康检查服务向服务管理平台订阅方式相同。作为本专利技术所述分布式服务健康检查的方法及其系统的一种优选方案,其中:一种分布式服务健康检查的方法,包括,服务管理平台,用于工作单元注册并储存工作单元的工作任务健康参数;向分布式服务,包括工作单元,所述工作单元与所述服务管理平台和健康检查服务建立连接;健康检查服务,订阅服务管理平台上的各个工作单元的工作任务健康参数,并发送周期性的向分布式服务中的各个工作单元发起健康检查;以及,负载均衡服务,与所述健康检查服务和连接,并根据健康检查服务检查的健康度调整所述工作单元的任务量。本专利技术的有益效果:本专利技术能够对工作单元处理工作任务进行健康检查,从而精确判断出工作单元在处理工作任务时的健康度,进而避免了工作单元无法处理工作任务的情况下,负载均衡服务仍然将工作任务分配给工作单元,导致工作任务处理失败以及工作单元可以处理工作任务的情况下,负载均衡服务停止将工作任务分配给工作单元导致工作单元资源浪费的问题。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:图1为本专利技术分布式服务健康检查的方法及其系统的整体流程示意图。图2为本专利技术分布式服务健康检查的方法及其系统所述的S1流程示意图。图3为本专利技术分布式服务健康检查的方法及其系统所述的S3流程示意图。图4为本专利技术分布式服务健康检查的方法及其系统所述的健康检查的详细流程示意图。图5为本专利技术分布式服务健康检查的方法及其系统所述系统的原理示意图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本专利技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是本专利技术还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广,因此本专利技术不受下面公开的具体实施例的限制。其次,此处所称的“一个实施例”或“实施本文档来自技高网...

【技术保护点】
1.一种分布式服务健康检查的方法,其特征在于:包括如下步骤:/n注册工作单元(201)的工作任务健康参数到服务管理平台(100);/n启动健康检查服务(300)并向服务管理平台(100)订阅各个工作单元(201)注册的工作任务的健康参数;/n健康检查服务(300)周期性的向分布式服务(200)中的各个工作单元(201)发起健康检查;/n启动负载均衡服务(400)并向健康检查服务(300)订阅工作单元(201)在处理某个工作任务维度上的健康度,并根据健康度调整该工作单元的任务量。/n

【技术特征摘要】
1.一种分布式服务健康检查的方法,其特征在于:包括如下步骤:
注册工作单元(201)的工作任务健康参数到服务管理平台(100);
启动健康检查服务(300)并向服务管理平台(100)订阅各个工作单元(201)注册的工作任务的健康参数;
健康检查服务(300)周期性的向分布式服务(200)中的各个工作单元(201)发起健康检查;
启动负载均衡服务(400)并向健康检查服务(300)订阅工作单元(201)在处理某个工作任务维度上的健康度,并根据健康度调整该工作单元的任务量。


2.如权利要求1所述的分布式服务健康检查的方法,其特征在于:所述注册工作单元(201)的工作任务健康参数到服务管理平台(100)包括步骤:
新建的工作单元(201)在启动时通过接口调用将工作任务健康参数注册到服务管理平台(100);
对于已有的工作单元(201)采用手动将工作任务健康参数注册到服务管理平台(100);
其中,所述接口通过HTTP协议实现。


3.如权利要求1或2所述的分布式服务健康检查的方法,其特征在于:所述服务管理平台(100)采用关系型数据库保存工作任务健康参数。


4.如权利要求3所述的分布式服务健康检查的方法,其特征在于:所述健康参数区分为工作单元的访问信息和工作任务健康参数;
其中,所述工作单元(201)的访问信息包括IP地址和端口号;
其中,所述工作任务健康参数包括工作单元地址、工作任务标识和工作任务内容。


5.如权利要求1、2和4任一所述的分布式服务健康检查的方法,其特征在于:所述启动健康检查服务(300)并向服务管理平台(100)订阅各个工作单元(201)注册的工作任务级别的健康参数的步骤还包括:当新的工作单元(201)向服务管理平台(100)注册健康参数,服务管理平台(100)返回参数给健康检查服务(300)。

【专利技术属性】
技术研发人员:白天
申请(专利权)人:西藏宁算科技集团有限公司的卢技术有限公司西藏宁算信息科技有限公司北京宁算科技有限公司
类型:发明
国别省市:西藏;54

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1