推荐服务调用方法、介质、装置和计算设备制造方法及图纸

技术编号:20362705 阅读:18 留言:0更新日期:2019-02-16 16:27
本发明专利技术的实施方式提供了一种推荐服务调用方法、装置、介质和计算设备。该推荐服务调用方法包括以下步骤:接收服务调用请求;基于被线程池隔离的接口调用与所述服务调用请求对应的推荐服务,其中,根据所述接口被调用的频率以及调用失败的几率确定所述线程池中的线程数;根据调用结果返回调用内容。根据调用结果返回调用内容。根据本发明专利技术的推荐服务调用方法、介质、装置和计算设备,可以提供一个能够实现资源隔离、超时降级、实时监控、实时预警的系统框架,从而有利于实现系统的高并发和可靠性,为用户带来更好的体验。

【技术实现步骤摘要】
推荐服务调用方法、介质、装置和计算设备
本专利技术的实施方式涉及计算机
,更具体地,本专利技术的实施方式涉及推荐服务调用方法、介质、装置和计算设备。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。目前一种保障推荐服务在大促期间高并发和可靠性的方法是在上游关闭部分推荐服务的开关,一些访问量很大的场景不再调用推荐服务,而是使用预先准备的大促备选方案。这样,在大促期间可以保证只有访问量不大的场景使用推荐服务,将推荐服务的压力控制在很低的范围之内,同时也能保证大促期间访问量大的场景有数据返回,还能提供容错机制,保证更高的系统稳定些。在大中型分布式系统中,通常系统很多依赖(HTTP,Netty,Dubbo等),在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等。当依赖阻塞时,大多数服务器的线程池就出现阻塞(BLOCK),影响整个线上服务的稳定性,在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败。高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险。对于考拉推荐系统,对接着目前线上近百个推荐场景的接口,大促期间流量很大的情况下,一些接口会出现超时。当这些超时堆积起来,会使调用方超时,从而导致整个链路超时,拖垮整个服务。对于推荐系统内部而言,这些调用量大的超时接口会占用大量Tomcat线程,消耗宝贵的CPU资源,进一步导致别的接口出现问题。
技术实现思路
为此,非常需要一种改进的推荐服务调用方案,以有利于实现系统的高并发和可靠性。在本上下文中,本专利技术的实施方式期望提供一种推荐服务调用方法、介质、装置和计算设备。在本专利技术实施方式的第一方面中,提供了一种推荐服务调用方法,包括:接收服务调用请求;基于被线程池隔离的接口调用与所述服务调用请求对应的推荐服务,其中,根据所述接口被调用的频率以及调用失败的几率确定所述线程池中的线程数;根据调用结果返回调用内容。在本专利技术实施方式的第二方面中,提供了一种推荐服务调用装置,包括:请求接收模块,被配置为接收服务调用请求;调用模块,被配置为基于被线程池隔离的接口调用与所述服务调用请求对应的推荐服务,其中,根据所述接口被调用的频率以及调用失败的几率确定所述线程池中的线程数;数据返回模块,被配置为根据调用结果返回调用内容。。在本专利技术实施方式的第三方面中,提供了一种计算机可读存储介质,存储有程序代码,所述程序代码当被处理器执行时,实现如上所述的方法。在本专利技术实施方式的第四方面中,提供了一种计算设备,包括处理器和存储有程序代码的存储介质,所述程序代码当被处理器执行时,实现如上所述的方法。根据本专利技术的推荐服务调用方法、介质、装置和计算设备,可以提供一个能够实现资源隔离、超时降级、实时监控、实时预警的系统框架,从而有利于实现系统的高并发和可靠性,为用户带来更好的体验。附图说明通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:图1为根据本专利技术一个实施方式的推荐服务调用方法的流程示意图;图2为根据本专利技术另一个实施方式的推荐服务调用方法的流程示意图;图3为根据本专利技术一个实施方式的计算机可读存储介质的示意图;图4为根据本专利技术一个实施方式的推荐服务调用装置的结构示意图;图5为根据本专利技术一个实施方式的计算设备的示意图;在附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。本领域技术人员知道,本专利技术的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。根据本专利技术的实施方式,提出了一种推荐服务调用的方法、装置、介质和计算设备。在本文中,需要理解的是,这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。下面参考本专利技术的若干代表性实施方式,详细阐释本专利技术的原理和精神。专利技术概述本专利技术人发现,接口维度的资源隔离可以保证不同场景的推荐服务互相隔离,某个场景的压力过大不会影响整个系统的资源分配和服务提供,保证了系统的高并发;失败接口降级在请求异常情况下仍然可以返回备份方案,保证了系统的可靠性;熔断机制在大量降级的情况下直接返回备份方案,大大减轻了系统在高并发下的压力。在介绍了本专利技术的基本原理之后,下面具体介绍本专利技术的各种非限制性实施方式。应用场景总览本专利技术的推荐服务调用方法、装置、介质和计算设备在系统访问量大的场景能够实现系统调用的资源隔离,有利于避免服务被拖垮的风险,在高并发访问的情况下有利于保证系统的可靠性,并且服务调用异常时依然能够有数据返回,有利于提高用户体验。示例性方法下面结合图1的应用场景,参考图1-2来描述根据本专利技术示例性实施方式的推荐服务调用方法。需要注意的是,上述应用场景仅是为了便于理解本专利技术的精神和原理而示出,本专利技术的实施方式在此方面不受任何限制。相反,本专利技术的实施方式可以应用于适用的任何场景。如图1所示为根据本专利技术一个实施方式的推荐服务调用方法的流程示意图,包括以下步骤:S101:接收服务调用请求;S102:基于被线程池隔离的接口调用与所述服务调用请求对应的推荐服务,其中,根据所述接口被调用的频率以及调用失败的几率确定所述线程池中的线程数;S103:根据调用结果返回调用内容。为每个接口创建线程池,可选的,可以根据该接口被调用的频率确定线程池中的线程数,当该接口被调用的频率较高时可以为该接口分配较多的线程数,当该接口被调用的频率较低时可以为该接口分配较少的线程数;可选的,也可以根据该接口被调用失败的几率确定线程池中的线程数,当该接口被调用失败的几率较高时可以为该接口分配较多的线程数,当该接口被调用的频率较低时可以为该接口分配较少的线程数。具体为每个接口分配线程数的多少可以根据具体需要进行确定,在此不作限定,本领域技术人员可以根据需要进行选择。作为一种可选的实施方式,接收服务调用请求,基于被线程池隔离的接口调用与服务调用请求对应的推荐服务,不同接口的调用落到不同的线程池中从而实现了接口维度的资源隔离,根据调用结果返回调用内容,其中调用结果可以包括但不限于调用超时、调用异常、调用被拒绝以及正常等情况。作为第一个具体实施例,本文档来自技高网...

【技术保护点】
1.一种推荐服务调用方法,包括以下步骤:接收服务调用请求;基于被线程池隔离的接口调用与所述服务调用请求对应的推荐服务,其中,根据所述接口被调用的频率以及调用失败的几率确定所述线程池中的线程数;根据调用结果返回调用内容。

【技术特征摘要】
1.一种推荐服务调用方法,包括以下步骤:接收服务调用请求;基于被线程池隔离的接口调用与所述服务调用请求对应的推荐服务,其中,根据所述接口被调用的频率以及调用失败的几率确定所述线程池中的线程数;根据调用结果返回调用内容。2.根据权利要求1所述的方法,其中,所述根据调用结果返回调用内容包括:当所述调用结果为正常时,将推荐方案作为所述调用内容返回,并将所述推荐方案保存为备份方案。3.根据权利要求1所述的方法,其中,所述根据调用结果返回调用内容包括:当所述调用结果为失败时,将备份方案作为所述调用内容返回,并对应每个失败的所述调用结果记录失败原因。4.根据权利要求1所述的方法,其中,所述根据调用结果返回调用内容包括:当所述调用结果为失败的次数达到第一预定条件时,自动打开熔断开关,并且在所述熔断开关打开期间将备份方案作为所述调用内容返回。5.根据权利要求4所述的方法,其中,还包括以下步骤:当打开所述熔断开关的时间达到预定时间阈值时,自动闭合所述熔断开关。6.根据权利要求4所述的方法,其中,还包括以下步骤:当打开所述熔断开关的时间达到预...

【专利技术属性】
技术研发人员:傅凌进袁博
申请(专利权)人:网易无尾熊杭州科技有限公司
类型:发明
国别省市:浙江,33

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

1