【技术实现步骤摘要】
基于服务的路由方法和路由装置
[0001]本申请涉及微服务领域,尤其涉及一种基于服务的路由方法和路由装置。
技术介绍
[0002]在微服务领域,传统的应用被认定为过于臃肿,设计者会按功能将原先复杂的传统应用,拆分成多个核心功能,每个功能都被称为一项服务。其中每项服务可以单独构建和部署,保证了各项服务在工作(和出现故障)时不会相互影响。现有的方法可以通过路由设备的负载均衡将客户端的服务请求消息路由至可以实现目标服务的服务器上,以使服务器可以基于该服务请求消息运行对应的服务实例,使客户端实现对应的服务功能。
[0003]但是,上述方法可能存在路由不灵活的问题,导致服务器过载,进而降低系统的整体性能。
技术实现思路
[0004]本申请提供一种基于服务的路由方法和路由装置,实现了根据实际情况的灵活路由,有利于缓解服务器的压力,从而提高系统的整体性能。
[0005]第一方面,提供了一种基于服务的路由方法,包括:接收来自客户端的第一服务请求消息,该第一服务请求消息用于请求为上述客户端提供目标服务,该第一服 ...
【技术保护点】
【技术特征摘要】
1.一种基于服务的路由方法,其特征在于,包括:接收来自客户端的第一服务请求消息,所述第一服务请求消息用于请求为所述客户端提供目标服务,所述第一服务请求消息携带所述目标服务的服务标识;基于所述目标服务的服务标识和预设对应关系,确定所述目标服务对应的至少一个候选服务实例,所述预设对应关系用于表示多个服务标识与多个服务实例之间的对应关系,所述多个服务标识包括所述目标服务的服务标识;按照路由策略,在所述至少一个候选服务实例中确定所述目标服务的目标服务实例,所述路由策略是基于所述至少一个候选服务实例对应的多个服务器的业务负载情况和硬件配置情况确定的;向所述目标服务实例对应的服务器发送第二服务请求消息,所述第二服务请求消息用于请求所述目标服务实例对应的服务器运行所述目标服务实例,所述第二服务请求消息携带所述目标服务实例的标识。2.根据权利要求1所述的方法,其特征在于,所述第一服务请求消息还携带所述目标服务对应的应用的标识;所述路由策略包括下列至少一个:所述应用的白名单,所述白名单包括所述应用允许访问的至少一个服务实例;和/或,所述应用的黑名单,所述黑名单包括所述应用不允许访问的至少一个服务实例。3.根据权利要求1所述的方法,其特征在于,所述第一服务请求消息还携带所述目标服务对应的当前服务实例的标识;所述路由策略包括下列至少一个:所述当前服务实例的白名单,所述白名单包括所述当前服务实例允许访问的至少一个服务实例;和/或,所述当前服务实例的黑名单,所述黑名单包括所述当前服务实例不允许访问的至少一个服务实例。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:周期性或实时地统计所述多个服务器的当前业务负载情况和硬件配置情况;基于所述多个服务器的当前业务负载情况和硬件配置情况,动态更新所述路由策略。5.根据权利要求4所述的方法,其特征在于,所述基于所述多个服务器的当前业务负载情况和硬件配置情况,动态更新所述路由策略,包括:当所述多个服务器中存在第一服务器的业务负载超出第一预设阈值或者超出所述第一服务器的硬件承受能力时,将所述第一服务器对应的服务实例添加至所述应用的黑名单或所述当前服务实例的黑名单;或者,当所述多个服务器中存在第二服务器的业务负载小于或等于第二预设阈值或者未超出所述第二服务器的硬件承受能力时,将所述第二服务器对应的服务实例从所述客户端的黑名单或所述当前服务实例的黑名单中删除。6.根据权利要求2或3所述的方法,其特征在于,所述路由策略还包括其他应用的白名单和/或黑名单,以及其他服务实例的白名单和/或黑名单;所述按照路由策略,在所述至少一个候选服务实例中确定所述目标服务的目标服务实例,包括:
遍历所述路由策略,确定所述客户端或者所述当前服务实例的白名单和/或黑名单;基于所述客户端或者所述当前服务实例的白名单和/或黑名单,确定所述目标服务实例。7.一种基于服务的路由装置,其特征在于,包括:收发模块,用于接收来自客户端的第一服务请求消息,所述第一服务请求消息用于请求为所述客户端提供目标服务,所述第一服务请求消息携带所述目标服务的...
【专利技术属性】
技术研发人员:张正园,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。