CN112835702A - 服务切换方法、装置、计算机设备及存储介质 - Google Patents

服务切换方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112835702A
CN112835702A CN202110213618.6A CN202110213618A CN112835702A CN 112835702 A CN112835702 A CN 112835702A CN 202110213618 A CN202110213618 A CN 202110213618A CN 112835702 A CN112835702 A CN 112835702A
Authority
CN
China
Prior art keywords
service
switching
main
request failure
main service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110213618.6A
Other languages
English (en)
Inventor
李帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Consumer Finance Co Ltd
Original Assignee
Ping An Consumer Finance Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Consumer Finance Co Ltd filed Critical Ping An Consumer Finance Co Ltd
Priority to CN202110213618.6A priority Critical patent/CN112835702A/zh
Publication of CN112835702A publication Critical patent/CN112835702A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及云传输技术领域,尤其涉及一种服务切换方法、装置、设备及存储介质。该服务切换方法包括获取当前服务的服务路由策略;所述当前服务对应配置有主服务和备用服务;当所述服务路由策略为第一路由策略时,实时监控在预设时间段内请求所述主服务的累计失败次数;当所述累计失败次数达到第一预设阈值时,冻结所述主服务,并切换至备用服务;在冻结所述主服务一预设冻结期之后,切换回所述主服务。该服务切换方法可在业务所依赖的主服务不可用时,通过服务路由策略,动态路由最优切换策略,实现主动式触发主备服务之间的双向切换。

Description

服务切换方法、装置、计算机设备及存储介质
技术领域
本发明涉及云传输技术领域,尤其涉及一种服务切换方法、装置、计算机设备及存储介质。
背景技术
分布式系统环境下,一般一个业务系统的业务调用通常需要依赖多个基础服务,例如人证对比、OCR服务或绑卡服务。在A服务不可用时,B服务的请求线程会被阻塞,当有大批量请求调用A服务时,会导致B服务资源被耗尽,无法继续对外提供服务。
目前针对上述问题,现有技术中可通过服务的降级或选择备用方案解决,但现有技术中的备用方案一般都是通过在主服务不可用的情况下,需要通过开关和手动配置参数的方式使备用方案生效,然而该种方式无法做到在服务不可用时,第一时间响应并选择备用方案,进而无法保证系统稳定性。
发明内容
本发明实施例提供一种服务切换方法、装置、计算机设备及存储介质,以解决现有的主备切换方案需要手动切换,无法在服务不可用时第一时间响应的问题。
一种服务切换方法,包括:
获取当前服务的服务路由策略;所述当前服务对应配置有主服务和备用服务;
当所述服务路由策略为第一路由策略时,实时监控在预设时间段内请求所述主服务的累计失败次数;
当所述累计失败次数达到第一预设阈值时,冻结所述主服务,并切换至备用服务;
在冻结所述主服务一预设冻结期之后,切换回所述主服务。
一种服务切换装置,包括:
策略获取模块,用于获取当前服务的服务路由策略;所述当前服务对应配置有主服务和备用服务;
监控模块,用于当所述服务路由策略为第一路由策略时,实时监控在预设时间段内请求所述主服务的累计失败次数;
第一备用服务切换模块,用于当所述累计失败次数达到第一预设阈值时,冻结所述主服务,并切换至备用服务;
第一主服务切换模块,用于在冻结所述主服务一预设冻结期之后,切换回所述主服务。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述服务切换方法的步骤。
一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述服务切换方法的步骤。
上述服务切换方法、装置、计算机设备及存储介质中,通过获取服务路由策略,以在服务路由策略为第一路由策略时,实时监控在预设时间段内请求所述主服务的累计失败次数,并在累计失败次数达到第一预设阈值时,冻结所述主服务,并切换至备用服务,以在主服务不可用时,通过冻结主服务,使其不可用,以最大程度减少业务系统报错,保证业务系统的稳定性;然后,在冻结所述主服务一预设冻结期之后,切换回所述主服务,以在业务在业务所依赖的主服务不可用时,通过服务路由策略,动态路由最优服务,实现主动式触发主备服务之间的双向切换。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中服务切换方法的一应用环境示意图;
图2是本发明一实施例中服务切换方法的一流程图;
图3是本发明一实施例中服务切换方法的一流程图;
图4是本发明一实施例中服务切换方法的一流程图;
图5是本发明一实施例中服务切换方法的一流程图;
图6是图3中步骤S301的一具体流程图;
图7是本发明一实施例中服务切换方法的一流程图;
图8是本发明一实施例中服务切换装置的一示意图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该服务切换方法可应用在如图1的应用环境中,其中,计算机设备通过网络与服务器进行通信。计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器来实现。
在一实施例中,如图2所示,提供一种服务切换方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S201:获取当前服务的服务路由策略;当前服务对应配置有主服务和备用服务。
其中,本方法可应用在一种服务切换器中,用于在业务所依赖的主服务不可用时,通过服务路由策略,动态路由最优服务,无需通过手动配置参数进行切换,实现主动式触发主备服务之间的双向切换。
其中,当前服务用于接收业务系统的业务请求,并将该业务请求转发至策略路由器,使策略路由器根据当前服务的服务路由策略选择最优的服务(即主服务或备用服务),以将业务请求发送至最优的路由服务响应,并返回响应结果给业务系统。
针对不同的业务场景需求,提供了不同的服务路由策略,于本实施例中,该服务路由策略包括但不限于悲观策略以及乐观策略。其中,悲观策略主要用于实现系统服务的高可用,最大程度减少系统报错的目的。乐观策略主要用于实现主服务的优先利用。对于服务路由策略的选择可由用户根据业务场景需要,通过阿波罗(apollo)配置中心进行动态配置,此处不做限定。
S202:当服务路由策略为第一路由策略时,实时监控在预设时间段内请求主服务的累计失败次数。
S203:当累计失败次数达到第一预设阈值时,冻结主服务,并切换至备用服务。
其中,第一路由策略即指悲观策略,该种路由策略可在最大程度减少系统报错,保证业务的正常运行,进而保证业务系统的稳定性。预设时间段可由用户自定义配置,如5分钟、10分钟,此处不做限定。累计失败次数指随着时间的推移,通过计数器不断累加的请求失败次数。该悲观策略指在该预设时间段内,当累计失败次数达到第一预设阈值时,主动冻结主服务一特定时间(即预设冻结期),并切换到备用服务响应业务请求,在预设冻结期之后,主动尝试切回主服务响应业务请求。
示例性地,假设该悲观策略下的预设时间段为5分钟,则通过实时监控该5分钟内的请求主服务的累计失败次数是否达到阈值(如3次),例如,在第一分钟开始采用计数器累计失败次数,当在第三分钟时,累计失败次数达到3次,则此时冻结该主服务一预设冻结期,如5分钟,并切换至备用服务。
本实施例中,通过采用上述动态路由策略路由最优服务,无需手动配置参数,即可实现主备服务的自动切换,并可有效减少由于服务不可用,导致整个当前服务不可用的情况。
S204:在冻结主服务一预设冻结期之后,切换回主服务。
进一步地,如上述示例,在冻结主服务5分钟后,即第8分钟,自动尝试切回至主服务,实现主动式触发主备服务之间的双向切换,用户无感知。
本实施例中,通过获取服务路由策略,以在服务路由策略为第一路由策略时,实时监控在预设时间段内请求主服务的累计失败次数,并在累计失败次数达到第一预设阈值时,冻结主服务,并切换至备用服务,以在主服务不可用时,通过冻结主服务,使其不可用,以最大程度减少系统报错,保证业务系统的稳定性;然后,在冻结主服务一预设冻结期之后,切换回主服务,以在业务在业务所依赖的主服务不可用时,通过服务路由策略,动态路由最优服务,实现主动式触发主备服务之间的双向切换。
在一实施例中,如图3所示,步骤2014之后,该服务切换方法还包括如下步骤:
S301:当服务路由策略为第二路由策略时,实时监控并记录请求主服务的请求失败时刻。
其中,第二路由策略即指乐观策略,该路由策略具体为:通过记录每一业务请求失败的具体时间,采用时间窗口滑动的方式,监控请求失败记录次数是否达到第二预设阈值,即随时间顺序滑动时间窗,以不断采集滑动时间窗口内的请求失败数据,并判断当前滑动时间窗内的请求失败记录次数是否达到第二预设阈值,若达到,则切换至备用服务。
S302:按照时间窗滑动方式,统计请求失败时刻在当前滑动时间窗内的请求失败记录次数。
具体地,通过设置滑动时间窗,以便统计请求失败的时间在滑动时间窗内的时间序列,获取该当前滑动时间窗内的请求失败记录次数。其中,该请求失败的时间序列是指按照请求失败时刻的先后顺序排列而成的数列。
于本实施例中,通过采用时间窗滑动方式,不断采集并判断当前滑动时间窗内的请求失败记录次数,以在请求失败记录次数达到第二预设阈值时,切换至备用服务,并在下一个滑动时间窗内,重复统计并判断窗口内的请求失败次数是否达到第二预设阈值,实现动态路由最优服务,从而实现主备服务自动切换的目的。
S303:若请求失败记录次数达到第二预设阈值,则切换至备用服务。
进一步地,在请求失败记录次数未达到第二预设阈值时,则优先选择主服务响应业务请求。
可以理解地是,本实施例中针对不同业务场景需求提出不同的服务路由策略,即悲观策略和乐观策略,其中,悲观策略由于其在监控到主服务不可用时,直接冻结该主服务,并切换至备用服务,可在最大程度减少系统报错,保证业务的正常运行,进而保证业务系统的稳定性。而乐观策略是通过滑动时间窗方式,统计请求失败时刻在当前滑动时间窗内的请求失败记录次数,并在请求失败记录次数达到第二预设阈值时,切换至备用服务,并在下一滑动窗口内重复监控即尝试主动切换至主服务,保证主服务的优先利用,通过设置以上两种策略,可满足不同业务场景的需求。
在一实施例中,如图4所示,该步骤S303之后,该服务切换方法还包括如下步骤:
S401:在切换至备用服务之后,重复执行步骤S302。
S402:若在当前滑动时间窗内请求失败记录次数未达到第二预设阈值,则切换回主服务。
具体地,假设乐观策略下的滑动时间窗的大小为5分钟,则通过实时监控每5分钟内的请求失败记录次数是否达到阈值(如3次),即读取第一个滑动时间窗内的请求失败记录次数,当该请求失败记录次数达到3次时,切换至备用服务;并继续判断下一个滑动时间窗内的请求失败记录次数,若请求失败记录次数未达到3次,则主动切换回主服务,实现主备服务间的双向切换。
示例性地,若乐观策略下的滑动时间窗的大小设置为5分钟,第二预设阈值为3次,则在第一个时间窗口(即第1分钟-第5分钟)内,当在第三分钟时,该请求失败记录次数达到第二预设阈值,则切换至备用服务,此时第4分钟以及第5分钟仍采用备用服务;继续滑动时间窗,即在下一个滑动时间窗(第6分钟-第10分钟)内,重复判断该滑动时间窗内的请求失败记录次数是否达到第二预设阈值,如在第6分钟时,该请求失败记录次数未达到第二预设阈值,则切换回主服务。
需要说明的是,第一预设阈值和第二预设阈值可相同或不同,此处不做限定。可以理解地是,该乐观策略在切换至备用服务后,会继续按照时间窗口滑动的方式,判断下一个滑动时间窗内的请求失败记录次数是否达到第二预设阈值,而不会冻结主服务,即在下一个滑动时间窗继续尝试切换至主服务,保证主服务的优先利用。
在一实施例中,如图5所示,累计失败次数通过缓存计数器记录;
步骤S204中,即在冻结所述主服务一预设冻结期之后,切换回主服务,具体包括如下步骤:
S501:在冻结所述主服务一预设冻结期之后,将缓存计数器记录的的累计失败次数清零,并重复执行步骤S202。
S502:若累计失败次数未达到第一预设阈值,则切换回主服务。
具体地,该缓存计数器在冻结主服务一预设冻结期之后,自动将累计失败次数清零,重新计数,并重复执行步骤S202,判断在预设时间段内请求主服务的累计失败次数是否达到第一预设阈值,若未达到,则切换回主服务;若达到,则执行步骤S203。
本实施例中,通过采用缓存计数器记录累计失败次数,可有效保证读写速度,进而保证动态路由策略的执行效率,以在主服务不可用时,快速切换至备用服务。
在一实施例中,如图6所示,步骤S301中,即实时监控并记录请求主服务的请求失败时刻,具体包括如下步骤:
S601:将请求失败记录按照请求失败时刻的先后顺序记录至缓存数据库中。
其中,缓存数据库可为redis数据库,本实施例中为保证缓存数据的唯一性,可采用zset数据结构缓存请求失败记录。该请求失败记录至少包括请求标识和请求失败时刻等。该zset数据结构可实现在插入请求失败数据时,按照请求失败时刻的先后顺序记录至缓存数据库中,保证缓存数据的有序性,进而保证滑动时间窗口滑动监控的有效性和准确性。
S602:通过缓存数据库对请求失败记录进行去重,以去除重复的请求失败记录,得到对应的缓存时间序列。
具体地,由于缓存数据库采用zset数据结构缓存请求失败记录,该种数据结构由于其具有不允许重复元素的特性,故可实现缓存数据库在缓存数据时,可对缓存数据进行去重,保证缓存数据的唯一性。
于本实施例中,可基于请求标识,对请求失败记录进行去重,以去除重复的请求失败记录,以保证缓存数据的有效性和唯一性,进而保证所读取的滑动时间窗内的请求失败记录次数的准确性。
S603:按照时间窗滑动方式,统计缓存时间序列中请求失败时刻在当前滑动时间窗内的请求失败记录次数。
可以理解地是,该滑动时间窗按照时间顺序在缓存时间序列上滑动,以循环执行服务路由策略,即统计缓存时间序列中请求失败时刻在当前滑动时间窗内的请求失败记录次数,并判断请求失败记录次数是否达到第二预设阈值,以实现动态路由最优服务的目的,进而实现主备服务的自动切换。
在一实施例中,步骤S201之前,该方法还包括:通过阿波罗配置中心,动态配置服务切换参数;其中,服务切换参数包括服务路由策略、预设时间段、第一预设阈值以及第二预设阈值。
本实施例中,用户通过在阿波罗(apollo)配置中心,动态配置服务切换参数后,客户端能实时接收到最新的配置,从而实现配置修改的实时生效(热发布)。该服务切换参数包括但不限于配置服务路由策略、预设时间段、第一预设阈值以及第二预设阈值。
在一实施例中,如图7所示,步骤S201之前,该方法还包括如下步骤:
S701:获取当前服务所接收的业务请求的业务类型。
S702:根据业务类型,确定第一预设阈值或第二预设阈值。
具体地,不同的业务类型的重要程度不同,故其对应的策略参数(如第一预设阈值或第二预设阈值)不同,例如对于交易业务,由于该交易业务重要程度较高,故需要将策略的第一预设阈值或第二阈值设置的较小或者为0,此处不做限定。
本实施例中,通过根据业务类型,确定第一预设阈值或第二预设阈值,使本方案可适用于多种不同的业务场景,保证系统的泛化性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种服务切换装置,该服务切换装置与上述实施例中服务切换方法一一对应。如图8所示,该服务切换装置包括策略获取模块10、监控模块20、第一备用服务切换模块30和第一主服务切换模块40。各功能模块详细说明如下:
策略获取模块10,用于获取当前服务的服务路由策略;当前服务对应配置有主服务和备用服务。
监控模块20,用于当服务路由策略为第一路由策略时,实时监控在预设时间段内请求主服务的累计失败次数。
第一备用服务切换模块30,用于当累计失败次数达到第一预设阈值时,冻结主服务,并切换至备用服务。
第一主服务切换模块40,用于在冻结主服务一预设冻结期之后,切换回主服务。
具体地,该服务切换装置还包括请求失败记录模块、统计模块和第二备用服务切换模块。
请求失败记录模块,用于当服务路由策略为第二路由策略时,实时监控并记录请求主服务的请求失败时刻。
统计模块,用于按照时间窗滑动方式,统计请求失败时刻在当前滑动时间窗内的请求失败记录次数。
第二备用服务切换模块,用于若请求失败记录次数达到第二预设阈值,则切换至备用服务。
具体地,该服务切换装置还包括循环统计模块和第二主服务切换模块。
循环统计模块,用于在切换至备用服务之后,重复执行按照时间窗滑动方式,统计请求失败时刻在当前滑动时间窗内的请求失败记录次数的步骤。
第二主服务切换模块,用于若在当前滑动时间窗内请求失败记录次数未达到第二预设阈值,则切换回主服务。
具体地,累计失败次数通过缓存计数器记录;第一主服务切换模块包括循环监控单元以及第二主服务切换单元。
循环监控单元,用于在冻结主服务一预设冻结期之后,将缓存计数器记录的的累计失败次数清零,并重复执行实时监控在预设时间段内请求主服务的累计失败次数的步骤。
第二主服务切换单元,用于若累计失败次数未达到第一预设阈值,则切换回主服务。
具体地,请求失败记录模块包括失败记录单元、去重单元以及统计单元。
失败记录单元,用于将请求失败记录按照请求失败时刻的先后顺序记录至缓存数据库中。
去重单元,用于通过缓存数据库对请求失败记录进行去重,以去除重复的请求失败记录,得到对应的缓存时间序列。
统计单元,用于按照时间窗滑动方式,统计缓存时间序列中请求失败时刻在当前滑动时间窗内的请求失败记录次数。
具体地,该服务切换装置还包括通过阿波罗配置中心,动态配置服务切换参数;其中,服务切换参数包括服务路由策略、预设时间段、第一预设阈值以及第二预设阈值。
具体地,该服务切换装置还包括业务类型获取模块和参数确定模块。
业务类型获取模块,用于获取当前服务所接收的业务请求的业务类型。
参数确定模块,用于根据业务类型,确定第一预设阈值或第二预设阈值。
关于服务切换装置的具体限定可以参见上文中对于服务切换方法的限定,在此不再赘述。上述服务切换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行服务切换方法过程中生成或获取的数据,如目标页面。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种服务切换方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的服务切换方法的步骤,例如图2所示的步骤S201-S204,或者图3至图7中所示的步骤。或者,处理器执行计算机程序时实现服务切换装置这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中服务切换方法的步骤,例如图2所示的步骤S201-S204,或者图3至图7中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述服务切换装置这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种服务切换方法,其特征在于,包括:
获取当前服务的服务路由策略;所述当前服务对应配置有主服务和备用服务;
当所述服务路由策略为第一路由策略时,实时监控在预设时间段内请求所述主服务的累计失败次数;
当所述累计失败次数达到第一预设阈值时,冻结所述主服务,并切换至备用服务;
在冻结所述主服务一预设冻结期之后,切换回所述主服务。
2.如权利要求1所述服务切换方法,其特征在于,在所述获取当前服务的服务路由策略之后,所述服务切换方法包括;
当所述服务路由策略为第二路由策略时,实时监控并记录请求所述主服务的请求失败时刻;
按照时间窗滑动方式,统计请求失败时刻在当前滑动时间窗内的请求失败记录次数;
若所述请求失败记录次数达到第二预设阈值,则切换至备用服务。
3.如权利要求2所述服务切换方法,其特征在于,在所述切换至备用服务之后,所述服务切换方法还包括;
在切换至所述备用服务之后,重复执行所述按照时间窗滑动方式,统计所述请求失败时刻在当前滑动时间窗内的请求失败记录次数的步骤;
若在当前滑动时间窗内所述请求失败记录次数未达到第二预设阈值,则切换回所述主服务。
4.如权利要求2所述服务切换方法,其特征在于,所述累计失败次数通过缓存计数器记录;
所述在冻结所述主服务一预设冻结期之后,切换回所述主服务,包括:
在冻结所述主服务一预设冻结期之后,将所述缓存计数器记录的的累计失败次数清零,并重复执行所述实时监控在预设时间段内请求所述主服务的累计失败次数的步骤;
若所述累计失败次数未达到所述第一预设阈值,则切换回所述主服务。
5.如权利要求2所述服务切换方法,其特征在于,所述实时监控并记录请求所述主服务的请求失败时刻,包括:
将请求失败记录按照所述请求失败时刻的先后顺序记录至缓存数据库中;
通过所述缓存数据库对请求失败记录进行去重,以去除重复的请求失败记录,得到对应的缓存时间序列;
所述按照时间窗滑动方式,统计所述请求失败时刻在当前滑动时间窗内的请求失败记录次数,包括:
按照时间窗滑动方式,统计所述缓存时间序列中所述请求失败时刻在所述当前滑动时间窗内的请求失败记录次数。
6.如权利要求2所述服务切换方法,其特征在于,在所述获取当前服务的服务路由策略之前,所述服务切换方法还包括:
通过阿波罗配置中心,动态配置服务切换参数;其中,所述服务切换参数包括所述服务路由策略、所述预设时间段、所述第一预设阈值以及所述第二预设阈值。
7.如权利要求2所述服务切换方法,其特征在于,在所述获取当前服务的服务路由策略之前,所述服务切换方法还包括:
获取所述当前服务所接收的业务请求的业务类型;
根据所述业务类型,确定所述第一预设阈值或所述第二预设阈值。
8.一种服务切换装置,其特征在于,包括:
策略获取模块,用于获取当前服务的服务路由策略;所述当前服务对应配置有主服务和备用服务;
监控模块,用于当所述服务路由策略为第一路由策略时,实时监控在预设时间段内请求所述主服务的累计失败次数;
第一备用服务切换模块,用于当所述累计失败次数达到第一预设阈值时,冻结所述主服务,并切换至备用服务;
第一主服务切换模块,用于在冻结所述主服务一预设冻结期之后,切换回所述主服务。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述服务切换方法的步骤。
10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述服务切换方法的步骤。
CN202110213618.6A 2021-02-25 2021-02-25 服务切换方法、装置、计算机设备及存储介质 Pending CN112835702A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110213618.6A CN112835702A (zh) 2021-02-25 2021-02-25 服务切换方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110213618.6A CN112835702A (zh) 2021-02-25 2021-02-25 服务切换方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112835702A true CN112835702A (zh) 2021-05-25

Family

ID=75933556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110213618.6A Pending CN112835702A (zh) 2021-02-25 2021-02-25 服务切换方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112835702A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785671A (zh) * 2022-05-18 2022-07-22 江苏安超云软件有限公司 一种虚拟负载均衡器高可用的实现方法、系统及电子设备
CN114827160A (zh) * 2022-06-07 2022-07-29 中国工商银行股份有限公司 流量分流方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016169103A1 (zh) * 2015-04-23 2016-10-27 宇龙计算机通信科技(深圳)有限公司 一种网络切换方法、装置和移动终端
CN106973093A (zh) * 2017-03-23 2017-07-21 北京奇艺世纪科技有限公司 一种服务切换方法和装置
CN111885145A (zh) * 2020-07-20 2020-11-03 北京百度网讯科技有限公司 切换方法、装置、设备及计算机存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016169103A1 (zh) * 2015-04-23 2016-10-27 宇龙计算机通信科技(深圳)有限公司 一种网络切换方法、装置和移动终端
CN106973093A (zh) * 2017-03-23 2017-07-21 北京奇艺世纪科技有限公司 一种服务切换方法和装置
CN111885145A (zh) * 2020-07-20 2020-11-03 北京百度网讯科技有限公司 切换方法、装置、设备及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DXX707099957: "微服务学习笔记-服务调用失败时得处理手段", pages 1 - 3, Retrieved from the Internet <URL:https://blog.csdn.net/dxx707099957/article/details/108110599> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785671A (zh) * 2022-05-18 2022-07-22 江苏安超云软件有限公司 一种虚拟负载均衡器高可用的实现方法、系统及电子设备
CN114827160A (zh) * 2022-06-07 2022-07-29 中国工商银行股份有限公司 流量分流方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN110830283B (zh) 故障检测方法、装置、设备和系统
US11307776B2 (en) Method for accessing distributed storage system, related apparatus, and related system
CN103631666B (zh) 数据冗余容错的适配管理设备、服务设备、系统及方法
CN112835702A (zh) 服务切换方法、装置、计算机设备及存储介质
CN105141400A (zh) 一种高可用性集群管理方法及相关设备
CN111294845A (zh) 节点切换方法、装置、计算机设备和存储介质
CN112202853B (zh) 数据同步方法、系统、计算机设备和存储介质
US20230119027A1 (en) Network slice management method, terminal, and computer readable storage medium
CN110838932A (zh) 网络限流方法、装置以及电子设备
CN113568585A (zh) 文件存取方法、设备、节点及存储介质
CN111600807A (zh) 一种基于api网关设备的流量控制方法和系统
CN109963100B (zh) 一种基于组播共享的缓存补录方法及装置
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN108924772B (zh) 短信发送方法、装置、计算机设备和存储介质
CN109510730B (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
CN112667467A (zh) 集群的自适应限流方法、装置、计算机设备及存储介质
CN115686951A (zh) 一种数据库服务器的故障处理方法和装置
CN210405337U (zh) 一种ar服务器的动态扩缩容装置
CN117608893A (zh) 一种调节可纠正错误上报阈值的方法、装置及相关设备
CN115858419A (zh) 元数据管理方法、装置、设备、服务器及可读存储介质
CN114040378B (zh) 应用的编排方法、装置、计算机设备和存储介质
CN103685359B (zh) 数据处理方法及装置
CN111385327B (zh) 数据处理方法和系统
CN113127191B (zh) 一种资源更新方法、存储介质及相关装置
CN111405313B (zh) 存储流媒体数据的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210525

WD01 Invention patent application deemed withdrawn after publication