一种HTTP请求分流方法、装置、设备及介质制造方法及图纸

技术编号:32535219 阅读:17 留言:0更新日期:2022-03-05 11:30
本申请公开了一种HTTP请求分流方法、装置、设备及介质,包括:获取源服务发送的目标HTTP请求;对所述目标HTTP请求进行解析以解析出目标关键信息,并将所述目标关键信息组合为预设格式的目标数据;将所述目标数据与预设分流策略进行匹配,得到与所述目标数据匹配的目标分流策略;利用所述目标分流策略以及所述目标数据确定出所述目标HTTP请求对应的目标服务;将所述目标HTTP请求转发至所述目标服务上。能够避免不同业务的影响,具有通用性,且提升配置的分流策略的有效性和准确性。升配置的分流策略的有效性和准确性。升配置的分流策略的有效性和准确性。

【技术实现步骤摘要】
一种HTTP请求分流方法、装置、设备及介质


[0001]本申请涉及请求分流
,特别涉及一种HTTP请求分流方法、装置、设备及介质。

技术介绍

[0002]在互联网技术中,产品在不断发展,相应服务的技术选型也在不断的变化,技术栈的变化需要对旧服务重构和改造,新服务开发完成后,会进行新旧服务过渡。由于新服务直接发布生产可能出现与预期不匹配的现象,并且造成服务稳定性和可用性问题。故需要一个将旧服务的部分流量分流至新服务,在上线后依据是否达到预期效果来逐步调整流量进行切换,达到平稳切换的目的。为了保证新旧服务平滑切换,并且对上游调用方无感知,一个比较好的方法就是对这两个版本进行分流,通过测试进行效果分析。
[0003]目前,常用的流量分发的技术有A/B测试和负载均衡。A/B测试是一种产品优化方法,就是在同一时间维度,分别让组成成分相同(或相似)的访客群组随机的访问各版本服务,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。基于负载均衡实现流量分发的技术,是负载均衡接收到客户端请求后,将流量按照转发策略分发到该负载下的应用服务器上。A/B测试的缺陷在于:要针对每个业务场景单独设置相应的分流机制,消耗大量的人力成本,因此A/B测试更多的是用于不同功能产品的对比测试。基于负载均衡的流量分发方式的缺陷在于转发策略的可配置性弱。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种HTTP请求分流方法、装置、设备及介质,能够避免不同业务的影响,具有通用性,且提升配置的分流策略的有效性和准确性。其具体方案如下:
[0005]第一方面,本申请公开了一种HTTP请求分流方法,包括:
[0006]获取源服务发送的目标HTTP请求;
[0007]对所述目标HTTP请求进行解析以解析出目标关键信息,并将所述目标关键信息组合为预设格式的目标数据;
[0008]将所述目标数据与预设分流策略进行匹配,得到与所述目标数据匹配的目标分流策略;
[0009]利用所述目标分流策略以及所述目标数据确定出所述目标HTTP请求对应的目标服务;
[0010]将所述目标HTTP请求转发至所述目标服务上。
[0011]可选的,所述获取源服务发送的目标HTTP请求,包括:
[0012]拦截源服务发送的基于指定域名的HTTP请求;
[0013]判断所述HTTP请求是否满足预设筛选条件;
[0014]若满足,则将所述HTTP请求确定为目标HTTP请求。
[0015]可选的,所述将所述目标数据与预设分流策略进行匹配,得到与所述目标数据匹配的目标分流策略,包括:
[0016]根据所述目标数据确定出接口信息;
[0017]将所述接口信息与预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略。
[0018]可选的,所述将所述接口信息与预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略,包括:
[0019]将所述接口信息与本地缓存中的预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略;
[0020]若本地缓存中没有所述目标分流策略,则将所述接口信息与数据库中的所述预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略。
[0021]可选的,还包括:
[0022]获取变更分流策略,根据所述变更分流策略修改所述数据库,并修改zookeeper中的目标信息,以便zookeeper触发变更事件,通知各分流服务器从所述数据库中将所述变更分流策略刷新至自身缓存中。
[0023]可选的,所述利用所述目标分流策略以及所述目标数据确定出所述目标HTTP请求对应的目标服务,包括:
[0024]根据所述目标分流策略中的分流规则以及所述目标数据确定出所述目标HTTP请求对应的目标服务。
[0025]可选的,所述将所述目标HTTP请求转发至所述目标服务上之后,还包括:
[0026]获取所述目标服务的返回数据,将所述返回数据返回给所述源服务;
[0027]若出现请求异常,则将预设状态码返回给所述源服务;
[0028]其中,不同的异常类型对应不同的预设状态码。
[0029]第二方面,本申请公开了一种HTTP请求分流装置,其包括:
[0030]目标请求获取模块,用于获取源服务发送的目标HTTP请求;
[0031]目标请求解析模块,用于对所述目标HTTP请求进行解析以解析出目标关键信息,并将所述目标关键信息组合为预设格式的目标数据;
[0032]分流策略匹配模块,用于将所述目标数据与预设分流策略进行匹配,得到与所述目标数据匹配的目标分流策略;
[0033]目标服务确定模块,用于利用所述目标分流策略以及所述目标数据确定出所述目标HTTP请求对应的目标服务;
[0034]目标请求转发模块,用于将所述目标HTTP请求转发至所述目标服务上。
[0035]第三方面,本申请公开了一种电子设备,包括:
[0036]存储器,用于保存计算机程序;
[0037]处理器,用于执行所述计算机程序,以实现前述的HTTP请求分流方法。
[0038]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的HTTP请求分流方法。
[0039]可见,本申请先获取源服务发送的目标HTTP请求,之后对所述目标HTTP请求进行解析以解析出目标关键信息,并将所述目标关键信息组合为预设格式的目标数据,然后将
所述目标数据与预设分流策略进行匹配,得到与所述目标数据匹配的目标分流策略,并利用所述目标分流策略以及所述目标数据确定出所述目标HTTP请求对应的目标服务,最后将所述目标HTTP请求转发至所述目标服务上。也即,本申请中根据接收到的目标HTTP请求中的目标关键信息匹配出请求对应的预设分流策略,按照与目标HTTP请求匹配的预设分流策略将请求转发至目标服务上,这样,分流策略和请求相关,能够避免不同业务的影响,具有通用性,且提升配置的分流策略的有效性和准确性。
附图说明
[0040]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0041]图1为本申请提供的一种HTTP请求分流方法流程图;
[0042]图2为本申请提供的一种具体的分流策略配置示意图;
[0043]图3为本申请提供的一种具体的HTTP请求分流方法流程图;
[0044]图4为本申请提供的一种具体的HTTP请求分流方法流程图;
[0045]图5为本申请提供的一种HTTP请求分流装置结构示意图;
[0046]图6为本申请提供的一种电子设备结构图。
具体实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种HTTP请求分流方法,其特征在于,包括:获取源服务发送的目标HTTP请求;对所述目标HTTP请求进行解析以解析出目标关键信息,并将所述目标关键信息组合为预设格式的目标数据;将所述目标数据与预设分流策略进行匹配,得到与所述目标数据匹配的目标分流策略;利用所述目标分流策略以及所述目标数据确定出所述目标HTTP请求对应的目标服务;将所述目标HTTP请求转发至所述目标服务上。2.根据权利要求1所述的HTTP请求分流方法,其特征在于,所述获取源服务发送的目标HTTP请求,包括:拦截源服务发送的基于指定域名的HTTP请求;判断所述HTTP请求是否满足预设筛选条件;若满足,则将所述HTTP请求确定为目标HTTP请求。3.根据权利要求1所述的HTTP请求分流方法,其特征在于,所述将所述目标数据与预设分流策略进行匹配,得到与所述目标数据匹配的目标分流策略,包括:根据所述目标数据确定出接口信息;将所述接口信息与预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略。4.根据权利要求3所述的HTTP请求分流方法,其特征在于,所述将所述接口信息与预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略,包括:将所述接口信息与本地缓存中的预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略;若本地缓存中没有所述目标分流策略,则将所述接口信息与数据库中的所述预设分流策略进行匹配,得到与所述接口信息匹配的目标分流策略。5.根据权利要求4所述的HTTP请求分流方法,其特征在于,还包括:获取变更分流策略,根据所述变更分流策略修改所述数据库,并修改zookeeper中的目标信息,以便zookeepe...

【专利技术属性】
技术研发人员:徐凯希江武杨冬李良婷李晶晶
申请(专利权)人:上海途虎信息技术有限公司
类型:发明
国别省市:

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

1