CN111240842A - 一种多通路服务高可用的方法 - Google Patents
一种多通路服务高可用的方法 Download PDFInfo
- Publication number
- CN111240842A CN111240842A CN202010030020.9A CN202010030020A CN111240842A CN 111240842 A CN111240842 A CN 111240842A CN 202010030020 A CN202010030020 A CN 202010030020A CN 111240842 A CN111240842 A CN 111240842A
- Authority
- CN
- China
- Prior art keywords
- service
- channel
- api
- error
- load balancing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明特别涉及一种多通路服务高可用的方法。该多通路服务高可用的方法,针对多通道接入实现负载均衡算法、通路检测和故障熔断;其中,负载均衡算法为各通道提供随权值变化的引流方式,通路检测实现对各通道请求报错的实时监测,故障熔断提供单个通道请求出错时的解决方法,提升服务可用性,减小负载压力,实现服务适用范围扩展并减小报错几率。该多通路服务高可用的方法,不仅能够同时接入多个通道,扩大服务适用范围,还能针对多通路调用结果进行实时检测,通过负载均衡解决大量并发访问服务问题,针对各通路检测结果及时关闭调用失败的通路,提升服务可用性,减小负载压力,实现服务适用范围扩展并减小报错几率。
Description
技术领域
本发明涉及机器学习算法与数据挖掘技术领域,特别涉及一种多通路服务高可用的方法。
背景技术
近年来,随着互联网应用的快速发展,互联网医疗、金融、保险、电商、租赁、物流、旅游等需要多通路服务的场景越来越广泛,越来越需要一套安全、可靠的多通路服务高可用方法。
以用户实名认证场景为例。目前能够直连公安和银联中心进行用户实名认证并直接调用的第三方公司或者开发者的开放接口有限,包括请求方式、请求参数、返回类型等在内的各接口的实现方式不一,且通常不能同时满足三大运营商的手机号码实名认证。但多数互联网应用对于实名认证有全面详细、权威可靠的要求,因此往往会接入多个通道进行实名认证。再以互联网医疗应用为例,用户进行预约挂号操作往往需要进行实名认证,而不同用户认证手机运营商不同将导致调用的认证通道不同。多通道认证时需要解决调用接口的问题,认证请求的过程中若出现单个接口调用报错应及时停止对该接口的使用,防止之后的认证请求重复调用该报错接口导致的持续认证失败。
为了解决多通路调用问题,本发明提出了一种多通路服务高可用的方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的多通路服务高可用的方法。
本发明是通过如下技术方案实现的:
一种多通路服务高可用的方法,其特征在于:针对多通道接入实现负载均衡算法、通路检测和故障熔断;其中,负载均衡算法为各通道提供随权值变化的引流方式,通路检测实现对各通道请求报错的实时监测,故障熔断提供单个通道请求出错时的解决方法,提升服务可用性,减小负载压力,实现服务适用范围扩展并减小报错几率。
该多通路服务高可用的方法,当服务调用多个API接口作为通路时,首先获取API调用权限,结合相关API文档进行服务开发,具体方法如下:
接入多个API接口后,开发者结合其文档及自身服务需求完成对多个接口的同时调用;当调用单个API接口报错时,服务将自动调用其余API接口,重复该过程直到调用至可用API接口,若全部API接口均失效则服务输出请求失败结果。
该多通路服务高可用的方法,服务接入多个通路后,为解决大量并发访问服务的问题,以及避免流量分配不均,造成局部通路负载过大的问题,采用加权轮询算法、加权随机算法和源地址哈希法作为负载均衡算法,由一个独立的统一入口来收敛请求,再做二次分发。
具体包括以下步骤:
第一步,一个入口统一接收请求,该入口将请求按照负载均衡算法分配到不同的API接口进行处理;
第二步,在负载均衡配置文件中配置各通路相关信息,包括对应的负载均衡权值,设置各通路自动开启及关闭操作的相关参数;
第三步,同时引入加权轮询法、加权随机法和源地址哈希法作为负载均衡算法,实现服务在不同应用场景下均衡算法策略的便捷切换。
该多通路服务高可用的方法,为了解决多通路服务调用时单个API接口报错后自动调用正常API接口而无法察觉错误信息的问题,引入调用错误计数器进行多通路检测。
对各API接口引入调用错误计数器,每当服务调用单个API接口出错时相对应的计数器执行一次自增操作,并给出相应的错误原因;之后再重复利用负载均衡算法持续调用其余API接口,直到某个API接口请求成功,在重复调用的过程中若遇到某API接口请求失败同样对其计数器执行自增操作。
该多通路服务高可用的方法,当访问服务的过程中调用某个API接口反复失败时,及时熔断该API接口通路,以防止重复调用出错接口消耗资源。
在进行故障熔断时处理,使用Hystrix请求熔断与服务降级机制;当HystrixCommand请求某个通路后端服务失败数量超过预定比例时(默认50%,可设置),该通路熔断器切换至开路状态,此时请求直接调用fallback方法而非发送到后端服务;该通路熔断器在开路状态保持预设时间t后(默认t为5s,可设置),自动切换至半开路状态;然后判断下一次请求结果,若成功则通路熔断器切回闭路状态,否则重新切换至开路状态。
该多通路服务高可用的方法,充分利用Hystrix提供的fallback方法灵活制定熔断策略;当某个API接口报错时调用其fallback方法,通过操作API接口错误计数器及设置负载均衡权值,灵活调整连续请求失败关闭通路的熔断规则;结合定时任务,每过一定时间T对关闭的通路进行API接口检测,若通路可用则恢复其权值(打开通路)。
本发明的有益效果是:该多通路服务高可用的方法,不仅能够同时接入多个通道,扩大服务适用范围,还能针对多通路调用结果进行实时检测,通过负载均衡解决大量并发访问服务问题,针对各通路检测结果及时关闭调用失败的通路,提升服务可用性,减小负载压力,实现服务适用范围扩展并减小报错几率。
附图说明
附图1为本发明多通路服务高可用的方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该多通路服务高可用的方法,针对多通道接入实现负载均衡算法、通路检测和故障熔断;其中,负载均衡算法为各通道提供随权值变化的引流方式,通路检测实现对各通道请求报错的实时监测,故障熔断提供单个通道请求出错时的解决方法,提升服务可用性,减小负载压力,实现服务适用范围扩展并减小报错几率。
该多通路服务高可用的方法,当服务调用多个API接口作为通路时,首先获取API调用权限,结合相关API文档进行服务开发,具体方法如下:
接入多个API接口后,开发者结合其文档及自身服务需求完成对多个接口的同时调用;当调用单个API接口报错时,服务将自动调用其余API接口,重复该过程直到调用至可用API接口,若全部API接口均失效则服务输出请求失败结果。
该多通路服务高可用的方法,服务接入多个通路后,为解决大量并发访问服务的问题,以及避免流量分配不均,造成局部通路负载过大的问题,采用加权轮询算法、加权随机算法和源地址哈希法作为负载均衡算法,由一个独立的统一入口来收敛请求,再做二次分发。
具体包括以下步骤:
第一步,一个入口统一接收请求,该入口将请求按照负载均衡算法分配到不同的API接口进行处理;
第二步,在负载均衡配置文件中配置各通路相关信息,包括对应的负载均衡权值,设置各通路自动开启及关闭操作的相关参数;
第三步,同时引入加权轮询法、加权随机法和源地址哈希法作为负载均衡算法,实现服务在不同应用场景下均衡算法策略的便捷切换。
该多通路服务高可用的方法,为了解决多通路服务调用时单个API接口报错后自动调用正常API接口而无法察觉错误信息的问题,引入调用错误计数器进行多通路检测。
对各API接口引入调用错误计数器,每当服务调用单个API接口出错时相对应的计数器执行一次自增操作,并给出相应的错误原因;之后再重复利用负载均衡算法持续调用其余API接口,直到某个API接口请求成功,在重复调用的过程中若遇到某API接口请求失败同样对其计数器执行自增操作。
该多通路服务高可用的方法,当访问服务的过程中调用某个API接口反复失败时,及时熔断该API接口通路,以防止重复调用出错接口消耗资源。
在进行故障熔断时处理,使用Hystrix请求熔断与服务降级机制;当HystrixCommand请求某个通路后端服务失败数量超过预定比例时(默认50%,可设置),该通路熔断器切换至开路状态,此时请求直接调用fallback方法而非发送到后端服务;该通路熔断器在开路状态保持预设时间t后(默认t为5s,可设置),自动切换至半开路状态;然后判断下一次请求结果,若成功则通路熔断器切回闭路状态,否则重新切换至开路状态。
该多通路服务高可用的方法,充分利用Hystrix提供的fallback方法灵活制定熔断策略;当某个API接口报错时调用其fallback方法,通过操作API接口错误计数器及设置负载均衡权值,灵活调整连续请求失败关闭通路的熔断规则;结合定时任务,每过一定时间T对关闭的通路进行API接口检测,若通路可用则恢复其权值(打开通路)。
该多通路服务高可用的方法,应用于涉及短信、实名认证等需由第三方开发者提供接口的服务。与现有技术相比,具有以下特点:
第一、在互联网应用中采用该方法能够扩展应用适用场景,同时接入多个通道,扩大服务适用范围,并通过负载均衡解决大量并发访问服务问题。
第二、应用该方法的互联网应用能够针对多通路调用结果进行实时检测,及时关闭调用失败的通路,减少用户客户端报错数量,提升用户体验,提高应用用户粘度,为企业提高经济效益。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (9)
1.一种多通路服务高可用的方法,其特征在于:针对多通道接入实现负载均衡算法、通路检测和故障熔断;其中,负载均衡算法为各通道提供随权值变化的引流方式,通路检测实现对各通道请求报错的实时监测,故障熔断提供单个通道请求出错时的解决方法,提升服务可用性,减小负载压力,实现服务适用范围扩展并减小报错几率。
2.根据权利要求1所述的多通路服务高可用的方法,其特征在于:当服务调用多个API接口作为通路时,首先获取API调用权限,结合相关API文档进行服务开发,具体方法如下:
接入多个API接口后,开发者结合其文档及自身服务需求完成对多个接口的同时调用;当调用单个API接口报错时,服务将自动调用其余API接口,重复该过程直到调用至可用API接口,若全部API接口均失效则服务输出请求失败结果。
3.根据权利要求1所述的多通路服务高可用的方法,其特征在于:服务接入多个通路后,为解决大量并发访问服务的问题,以及避免流量分配不均,造成局部通路负载过大的问题,采用加权轮询算法、加权随机算法和源地址哈希法作为负载均衡算法,由一个独立的统一入口来收敛请求,再做二次分发。
4.根据权利要求3所述的多通路服务高可用的方法,其特征在于,负载均衡具体包括以下步骤:
第一步,一个入口统一接收请求,该入口将请求按照负载均衡算法分配到不同的API接口进行处理;
第二步,在负载均衡配置文件中配置各通路相关信息,包括对应的负载均衡权值,设置各通路自动开启及关闭操作的相关参数;
第三步,同时引入加权轮询法、加权随机法和源地址哈希法作为负载均衡算法,实现服务在不同应用场景下均衡算法策略的便捷切换。
5.根据权利要求1所述的多通路服务高可用的方法,其特征在于:为了解决多通路服务调用时单个API接口报错后自动调用正常API接口而无法察觉错误信息的问题,引入调用错误计数器进行多通路检测。
6.根据权利要求5所述的多通路服务高可用的方法,其特征在于:对各API接口引入调用错误计数器,每当服务调用单个API接口出错时相对应的计数器执行一次自增操作,并给出相应的错误原因;之后再重复利用负载均衡算法持续调用其余API接口,直到某个API接口请求成功,在重复调用的过程中若遇到某API接口请求失败同样对其计数器执行自增操作。
7.根据权利要求1所述的多通路服务高可用的方法,其特征在于:当访问服务的过程中调用某个API接口反复失败时,及时熔断该API接口通路,以防止重复调用出错接口消耗资源。
8.根据权利要求7所述的多通路服务高可用的方法,其特征在于:在进行故障熔断时处理,使用Hystrix请求熔断与服务降级机制;当Hystrix Command请求某个通路后端服务失败数量超过预定比例时,该通路熔断器切换至开路状态,此时请求直接调用fallback方法而非发送到后端服务;该通路熔断器在开路状态保持预设时间t后,自动切换至半开路状态;然后判断下一次请求结果,若成功则通路熔断器切回闭路状态,否则重新切换至开路状态。
9.根据权利要求4、6或8所述的多通路服务高可用的方法,其特征在于:充分利用Hystrix提供的fallback方法灵活制定熔断策略;当某个API接口报错时调用其fallback方法,通过操作API接口错误计数器及设置负载均衡权值,灵活调整连续请求失败关闭通路的熔断规则;结合定时任务,每过一定时间T对关闭的通路进行API接口检测,若通路可用则恢复其权值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010030020.9A CN111240842A (zh) | 2020-01-13 | 2020-01-13 | 一种多通路服务高可用的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010030020.9A CN111240842A (zh) | 2020-01-13 | 2020-01-13 | 一种多通路服务高可用的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111240842A true CN111240842A (zh) | 2020-06-05 |
Family
ID=70865552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010030020.9A Pending CN111240842A (zh) | 2020-01-13 | 2020-01-13 | 一种多通路服务高可用的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111240842A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175143A (zh) * | 1996-08-22 | 1998-03-04 | 波音公司 | 多通道系统中获得高度综合和可用性的方法与装置 |
CN102447595A (zh) * | 2011-12-05 | 2012-05-09 | 上海顶竹通讯技术有限公司 | 多处理单元网源通路检测方法 |
CN106657190A (zh) * | 2015-10-30 | 2017-05-10 | 宁波轩悦行电动汽车服务有限公司 | 电动汽车分时租赁系统软件服务的负载均衡方法 |
WO2018099384A1 (zh) * | 2016-11-29 | 2018-06-07 | 中兴通讯股份有限公司 | 报文的负载均衡方法、装置及系统 |
CN110134513A (zh) * | 2019-04-17 | 2019-08-16 | 平安科技(深圳)有限公司 | 负载均衡方法、装置、计算机设备及存储介质 |
-
2020
- 2020-01-13 CN CN202010030020.9A patent/CN111240842A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175143A (zh) * | 1996-08-22 | 1998-03-04 | 波音公司 | 多通道系统中获得高度综合和可用性的方法与装置 |
CN102447595A (zh) * | 2011-12-05 | 2012-05-09 | 上海顶竹通讯技术有限公司 | 多处理单元网源通路检测方法 |
CN106657190A (zh) * | 2015-10-30 | 2017-05-10 | 宁波轩悦行电动汽车服务有限公司 | 电动汽车分时租赁系统软件服务的负载均衡方法 |
WO2018099384A1 (zh) * | 2016-11-29 | 2018-06-07 | 中兴通讯股份有限公司 | 报文的负载均衡方法、装置及系统 |
CN110134513A (zh) * | 2019-04-17 | 2019-08-16 | 平安科技(深圳)有限公司 | 负载均衡方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
龙新征等: "基于微服务框架的信息服务平台", 《东南大学学报(自然科学版)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958508B2 (en) | System facilitating prediction, detection and mitigation of network or device issues in communication systems | |
US10063599B2 (en) | Controlling registration floods in VOIP networks via DNS | |
KR100575497B1 (ko) | 내고장성 컴퓨터 시스템 | |
CN112637326B (zh) | 一种基于网关的旧服务器升级方法及系统 | |
CN110471884A (zh) | 数据管理方法、装置、设备、系统及计算机可读存储介质 | |
CN108206830A (zh) | 漏洞扫描方法、装置、计算机设备和存储介质 | |
CN104158707A (zh) | 一种检测并处理集群脑裂的方法和装置 | |
US20230046979A1 (en) | Microservice call method and apparatus, device, and medium | |
CN111414266B (zh) | 一种分布式事务的同步异步通信方法和装置 | |
CN111865632A (zh) | 分布式数据存储集群的切换方法及切换指令发送方法和装置 | |
CN108595280A (zh) | 接口适配方法、装置、计算机设备和存储介质 | |
CN111240842A (zh) | 一种多通路服务高可用的方法 | |
US11429435B1 (en) | Distributed execution budget management system | |
CN117076196A (zh) | 一种数据库容灾的管控方法和装置 | |
CN108984191A (zh) | 一种应用更新的方法、装置以及电子设备 | |
CN114024733B (zh) | 一种服务的访问控制方法、装置、存储介质及控制器 | |
CN111338848B (zh) | 故障应用副本处理方法、装置、计算机设备和存储介质 | |
CN111211924A (zh) | 一种计算节点单点高可用控制方法及装置 | |
CN112988353A (zh) | 一种应用程序的运行控制方法及装置 | |
CN110955647A (zh) | 数据库辅助方法、装置、计算机设备和存储介质 | |
CN111934909A (zh) | 主备机ip资源切换方法、装置、计算机设备和存储介质 | |
CN107783855B (zh) | 虚拟网元的故障自愈控制装置及方法 | |
EP4307631A1 (en) | User access processing method and related device | |
WO2021160041A1 (zh) | 用于hst-sfn的传输方案的确定方法、系统及设备 | |
CN113343275B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200605 |
|
RJ01 | Rejection of invention patent application after publication |