一种服务切换方法和装置制造方法及图纸

技术编号:31228434 阅读:27 留言:0更新日期:2021-12-08 09:39
本发明专利技术公开了一种服务切换方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据消费者服务所在机房标识,从服务调用策略中获取提供者服务所在的第一机房标识;根据所述提供者服务所在的第一机房标识,从实例容器中获取所述提供者服务的第一主实例;其中,所述提供者服务的第一主实例标识与所述第一机房标识相同;调用所述提供者服务的第一主实例,以发起调用部署在所述第一机房的所述提供者服务的请求,若所述提供者服务的第一主实例的调用结果为调用异常,则进行跨机房重试。该实施方式能够解决服务切换具有随机性、无法保证跨机房重试的技术问题。保证跨机房重试的技术问题。保证跨机房重试的技术问题。

【技术实现步骤摘要】
一种服务切换方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种服务切换方法和装置。

技术介绍

[0002]为保证RPC服务高可用,RPC服务发生异常时(例如无服务提供者异常、超时异常),需具备跨机房灾备重试能力。RPC服务提供者别名切换时,RPC服务消费者也需及时切换,以应对依赖服务的容灾能力。
[0003]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]服务异常重试具有随机性,不能保证跨机房重试。例如:当机房A服务全部异常时,理想场景是打到机房A的请求在发现异常后会自动重试打到机房B,但实际场景由于重试请求的随机性会再将请求打到机房A,导致请求失败。
[0005]RPC服务切换主要依赖于服务别名的切换,但服务别名多采用资源文件方式配置,资源文件只会在服务容器启动时被重新加载,一旦涉及服务切换就需要重启容器。因此,重启容器切换服务别名时效性较低,且会影响容器内其他服务不可用。

技术实现思路

[0006]有鉴于此,本专利技术实施例提供一种服务切换方法和装置,以本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种服务切换方法,其特征在于,包括:根据消费者服务所在机房标识,从服务调用策略中获取提供者服务所在的第一机房标识;根据所述提供者服务所在的第一机房标识,从实例容器中获取所述提供者服务的第一主实例;其中,所述提供者服务的第一主实例标识与所述第一机房标识相同;调用所述提供者服务的第一主实例,以发起调用部署在所述第一机房的所述提供者服务的请求;若所述提供者服务的第一主实例的调用结果为调用异常,则进行跨机房重试。2.根据权利要求1所述的方法,其特征在于,若所述提供者服务的第一主实例的调用结果为调用异常,则进行跨机房重试,包括:判断所述提供者服务的第一主实例的调用结果是否为调用异常;若是,则从所述实例容器中获取所述提供者服务的第一从实例;其中,所述提供者服务的第一从实例标识与所述第一机房标识不同,所述提供者服务的第一从实例标识与第二机房标识相同;调用所述提供者服务的第一从实例,以发起调用部署在所述第二机房的所述提供者服务的请求。3.根据权利要求2所述的方法,其特征在于,判断所述提供者服务的第一主实例的调用结果是否为调用异常,包括:判断所述提供者服务的第一主实例是否抛出异常;若是,则继续判断所述异常是否为远程过程调用异常。4.根据权利要求1所述的方法,其特征在于,还包括:若所述第一机房故障,则从所述实例容器中获取所述提供者服务的第二主实例;其中,所述提供者服务的第二主实例标识与所述第一机房标识不同,所述提供者服务的第二主实例标识与第二机房标识相同;调用所述提供者服务的第二主实例,以发起调用部署在所述第二机房的所述提供者服务的请求。5.根据权利要求4所述的方法,其特征在于,调用所述提供者服务的第二主实例之后,还包括:判断所述提供者服务的第二主实例的调用结果是否为调用异常;若是,则从所...

【专利技术属性】
技术研发人员:贾兴武鲍阳谢龙
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1