一种微服务请求处理方法、微服务控制器及微服务架构技术

技术编号:14873352 阅读:139 留言:0更新日期:2017-03-23 21:00
本发明专利技术公开了一种微服务请求处理方法,包括:接收用户发送的微服务请求;将所述微服务请求发送至微服务消息队列;向所述用户发送成功响应信息;可见,在本方案中,微服务控制器接收到用户发送的微服务请求时,将该微服务请求直接发送至微服务队列,以使微服务队列通过异步调用机制处理微服务请求,并直接向该用户回复成功响应信息,以防由于某一微服务不能成功处理请求时,可自动的向用户发送成功响应信息,使系统自动把发生故障的微服务排除出去,提高微服务构架的安全性,提高用户体验;本发明专利技术还公开了一种微服务控制器及微服务架构,同样能实现上述技术效果。

【技术实现步骤摘要】

本专利技术涉及微服务架构领域,更具体地说,涉及一种微服务请求处理方法、微服务控制器及微服务架构
技术介绍
微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。目前,随着微服务架构的发展、企业应用越来越多把功能集中的且运行在同一个应用中的单体架构拆分成多个相互独立的微服务架构后,虽然可以降低一损俱损的全局性故障风险,但由于微服务之间存在大量的依赖关系,而且每个微服务都可能发生故障,如果某一微服务发生故障后,该微服务的请求一直不能处理,导致请求堵塞,并且用户也收不到响应信息,降低用户体验。因此,如何确保系统自动把发生故障的微服务排除出去,提高用户体验,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种微服务请求处理方法、微服务控制器及微服务架构,以实现确保系统自动把发生故障的微服务排除出去,提高微服务构架的安全性,提高用户体验。为实现上述目的,本专利技术实施例提供了如下技术方案:一种微服务请求处理方法,包括:接收用户发送的微服务请求;将所述微服务请求发送至微服务消息队列;向所述用户发送成功响应信息。其中,所述将所述微服务请求发送至微服务消息队列之后,还包括:判断与所述微服务请求对应的微服务是否为关键性微服务;若否,则执行所述向所述用户发送成功响应信息的步骤。其中,所述接收用户发送的微服务请求之前,还包括:实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务;则将所述微服务请求发送至微服务消息队列之后,还包括:判断与所述微服务请求对应的微服务是否为故障微服务;若是,则执行所述向所述用户发送成功响应信息的步骤。其中,所述实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务包括:实时检测每个微服务请求的请求时长是否大于预定时长阈值;若是,则将请求时长大于预定阈值的微服务作为所述故障微服务。其中,所述实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务包括:实时检测是否存在服务失败次数大于预定次数阈值的微服务;若存在,则将服务失败次数大于预定次数阈值的微服务作为所述故障微服务。其中,所述实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务包括:实时检测每个微服务内是否存在可用节点;将不存在可用节点的微服务作为所述故障微服务。一种微服务控制器,包括:接收模块,用于接收用户发送的微服务请求;微服务请求发送模块,用于将所述微服务请求发送至微服务消息队列;响应信息发送模块,用于向所述用户发送成功响应信息。其中,还包括:第一判断模块,用于将所述微服务请求发送至微服务消息队列之后,判断与所述微服务请求对应的微服务是否为关键性微服务;所述响应信息发送模块,用于与所述微服务请求对应的微服务不为关键性微服务时,向所述用户发送成功响应信息。其中,还包括:检测模块,用于接收用户发送的微服务请求之前,实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务;第二判断模块,用于将所述微服务请求发送至微服务消息队列之后,判断与所述微服务请求对应的微服务是否为故障微服务;所述响应信息发送模块,用于与所述微服务请求对应的微服务为故障微服务时,向所述用户发送成功响应信息。一种微服务架构,包括上述任意微服务控制器。通过以上方案可知,本专利技术实施例提供的一种微服务请求处理方法,包括:接收用户发送的微服务请求;将所述微服务请求发送至微服务消息队列;向所述用户发送成功响应信息;可见,在本方案中,微服务控制器接收到用户发送的微服务请求时,将该微服务请求直接发送至微服务队列,以使微服务队列通过异步调用机制处理微服务请求,并直接向该用户回复成功响应信息,以防由于某一微服务不能成功处理请求时,可自动的向用户发送成功响应信息,使系统自动把发生故障的微服务排除出去,提高微服务构架的安全性,提高用户体验;本专利技术还公开了一种微服务控制器及微服务架构,同样能实现上述技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例公开的一种微服务请求处理方法流程示意图;图2为本专利技术实施例公开的一种微服务架构结构示意图;图3为本专利技术实施例公开的一种微服务控制器结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种微服务请求处理方法、微服务控制器及微服务架构,以实现确保系统自动把发生故障的微服务排除出去,提高微服务构架的安全性,提高用户体验。参见图1,本专利技术实施例提供的一种微服务请求处理方法,包括:S101、接收用户发送的微服务请求;S102、将所述微服务请求发送至微服务消息队列;具体的,本方案中接收到用户发送的微服务请求后,将请求发送至微服务消息队列,通过该消息队列采用异步调用机制处理该请求,防止微服务请求出现堵塞现象。S103、向所述用户发送成功响应信息。具体的,对于微服务架构,用户发送大量的微服务请求Userrequest访问服务,该服务依赖4个微服务的协作完成,通过微服务控制器Service把请求信息发送至消息队列,参见图2,假设ServiceB出现故障,而这个ServiceB不是关键性的,运行失败也可以继续进行,比如用户注册需要调用一个服务发送注册成功的邮件给用户,如果发邮件的这个service不可用,但不会影响用户注册,所以用户注册还是会成功的,邮件可以等服务恢复后再发送,只是时间上的延迟,因此,在本方案中,将微服务请求发送至消息队列后,直接向用户发送成功响应信息,使系统自动把发生故障的微服务排除出去,提高微服务构架的安全性,提高用户体验。基于上述实施例,在本实施例中,所述将所述微服务请求发送至微服务消息队列之后,还包括:判断与所述微服务请求对应的微服务是否为关键性微服务;若否,则执行所述向所述用户发送成功响应信息的步骤。具体的,在本实施例中,向用户发送成功响应信息之前,可判断用户发送的访问请求所对应的微服务是否为关键性微服务,若不是,则发送成功响应的步骤。需要说明的是,与访问请求所对应的微服务有可能为多个,若该多个微服务中存在关键性微服务,则代表该请求很重要,因此,可不直接向用户发送成功响应信息,等到该请求全部执行结束后再发送成功响应信息,提高用户体验。基于上述实施例,在本实施例中,所述接收用户发送的微服务请求之前,还包括:实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务;则将所述微服务请求发送至微服务消息队列之后,还包括:判断与所述微服务请求对应的微服务是否为故障微服务;若是,则执行所述本文档来自技高网...
一种微服务请求处理方法、微服务控制器及微服务架构

【技术保护点】
一种微服务请求处理方法,其特征在于,包括:接收用户发送的微服务请求;将所述微服务请求发送至微服务消息队列;向所述用户发送成功响应信息。

【技术特征摘要】
1.一种微服务请求处理方法,其特征在于,包括:接收用户发送的微服务请求;将所述微服务请求发送至微服务消息队列;向所述用户发送成功响应信息。2.根据权利要求1所述的微服务请求处理方法,其特征在于,所述将所述微服务请求发送至微服务消息队列之后,还包括:判断与所述微服务请求对应的微服务是否为关键性微服务;若否,则执行所述向所述用户发送成功响应信息的步骤。3.根据权利要求1所述的微服务请求处理方法,其特征在于,所述接收用户发送的微服务请求之前,还包括:实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务;则将所述微服务请求发送至微服务消息队列之后,还包括:判断与所述微服务请求对应的微服务是否为故障微服务;若是,则执行所述向所述用户发送成功响应信息的步骤。4.根据权利要求3所述的微服务请求处理方法,其特征在于,所述实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务包括:实时检测每个微服务请求的请求时长是否大于预定时长阈值;若是,则将请求时长大于预定阈值的微服务作为所述故障微服务。5.根据权利要求3所述的微服务请求处理方法,其特征在于,所述实时检测每个微服务是否满足预设故障条件,将满足故障条件的微服务作为故障微服务包括:实时检测是否存在服务失败次数大于预定次数阈值的微服务;若存在,则将服务失败次数大于预定次数阈值的微服务作...

【专利技术属性】
技术研发人员:刘鹏科
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1