基于服务标签的路由网关实现方法、系统、电子装置及介质制造方法及图纸

技术编号:36286505 阅读:56 留言:0更新日期:2023-01-13 09:57
本申请涉及一种基于服务标签的路由网关实现方法、系统、电子装置及介质,其中,该基于服务标签的路由网关实现方法在SASS环境中,预先为需要定制服务的租户在默认服务之外额外部署子服务,并为所述子服务打上所述租户的专属标签;所述方法包括:在租户所在客户端向API网关发起业务调用请求的情况下,确定所述请求是否指定专属标签;若是,则发送所述请求至所述专属标签对应的子服务;若否,则发送所述请求至所述默认服务;通过本申请,满足了既需要定制化能力,又不想私有化部署的情况,并且不对默认版本的业务造成影响,极大降低成本,提升灵活性,解决了相关技术中定制服务的部署和运维都相当麻烦的问题。运维都相当麻烦的问题。运维都相当麻烦的问题。

【技术实现步骤摘要】
基于服务标签的路由网关实现方法、系统、电子装置及介质


[0001]本申请涉及微服务
,特别是涉及一种基于服务标签的路由网关实现方法、系统、电子装置及介质。

技术介绍

[0002]当前流行的微服务系统包括:微服务、提供微服务注册与发现的服务(ServiceDiscovery Service,简称:SDS),以及应用程序编程接口(Application ProgrammingInterface,简称:API)网关。其中,微服务通过SDS获取另一微服务的API路由地址以实现微服务之间的通信,或者,微服务通过SDS和API网关,与另一微服务进行通信。
[0003]当今建筑行业的企业内部业务多种多样,规则也不仅相同,作为SASS版本的系统,其业务很难面面俱到,而且大型企业会有自身的特殊性,需要定制界面、业务等。对于微服务场景,特别是建筑行业智慧工地系统的微服务场景,由于各个企业标准不统一,所以可能会存在为不同企业定制的不同版本的服务,这对SASS版本带来很多挑战。在相关技术中,定制服务只能通过私有化部署方式,其成本大,交付周期长,中小企业难以支持。而且建筑企业其自身并不具备成熟的运维能力,导致私有化部署维护也相当麻烦。
[0004]针对相关技术中定制服务的部署和运维都相当麻烦的问题,尚未提出有效的解决方案。

技术实现思路

[0005]本申请实施例提供了一种基于服务标签的路由网关实现方法、系统、电子装置及介质,以至少解决相关技术中定制服务的部署和运维都相当麻烦的问题。
[0006]第一方面,本申请实施例提供了一种基于服务标签的路由网关实现方法,在SASS环境中,预先为需要定制服务的租户在默认服务之外额外部署子服务,并为所述子服务打上所述租户的专属标签;所述方法包括:
[0007]在租户所在客户端向API网关发起业务调用请求的情况下,确定所述请求是否指定专属标签;若是,则发送所述请求至所述专属标签对应的子服务;
[0008]若否,则发送所述请求至所述默认服务。
[0009]在其中一些实施例中,所述发送所述请求至所述专属标签对应的子服务之前,所述方法还包括:确定所述专属标签对应的子服务是否存在,以在所述子服务存在的情况下,发送所述请求至所述子服务。
[0010]在其中一些实施例中,所述发送所述请求至所述专属标签对应的子服务之后,所述方法包括:确定是否还有下游服务待调用,若是,则将请求指定的路由持续透传到下游服务的请求中。
[0011]在其中一些实施例中,所述确定所述请求是否指定专属标签,过程包括:根据所述请求的服务类型以及租户ID,确定所述请求是否指定专属标签,其中,HTTP服务通过请求头指定专属标签,Dubbo服务通过透传参数指定专属标签,其余服务通过环境变量指定专属标
签。
[0012]第二方面,本申请实施例提供了一种基于服务标签的路由网关实现系统,在SASS环境中,预先为需要定制服务的租户在默认服务之外额外部署子服务,并为所述子服务打上所述租户的专属标签;所述系统包括:
[0013]确定模块,用于在租户所在客户端向API网关发起业务调用请求的情况下,确定所述请求是否指定专属标签;
[0014]第一发送模块,用于在所述请求指定专属标签的情况下,发送所述请求至所述专属标签对应的子服务;
[0015]第二发送模块,用于在所述请求未指定专属标签的情况下,发送所述请求至所述默认服务。
[0016]在其中一些实施例中,在所述第一发送模块中,所述发送所述请求至所述专属标签对应的子服务之前,还确定所述专属标签对应的子服务是否存在,以在所述子服务存在的情况下,发送所述请求至所述子服务。
[0017]在其中一些实施例中,在所述第一发送模块中,所述发送所述请求至所述专属标签对应的子服务之后,还确定是否还有下游服务待调用,若是,则将请求指定的路由持续透传到下游服务的请求中。
[0018]在其中一些实施例中,在所述确定模块中,所述确定所述请求是否指定专属标签,过程包括:根据所述请求的服务类型以及租户ID,确定所述请求是否指定专属标签,其中,HTTP服务通过请求头指定专属标签,Dubbo服务通过透传参数指定专属标签,其余服务通过环境变量指定专属标签。
[0019]第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述基于服务标签的路由网关实现方法。
[0020]第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述基于服务标签的路由网关实现方法。
[0021]相比于相关技术中定制服务的部署和运维都相当麻烦的问题,本申请实施例通过在SASS环境中为需要定制服务的租户特殊部署一个定制开发的子服务,其子服务会打上一个标签,当租户所在客户端调用业务时,会优先请求到为其定制开发的子服务,这样能够满足既需要定制化能力,又不想私有化部署的情况,并且不对默认版本的业务造成影响,极大降低成本,提升灵活性,解决了相关技术中定制服务的部署和运维都相当麻烦的问题。
附图说明
[0022]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0023]图1是根据本申请实施例的基于服务标签的路由网关实现方法的应用环境示意图;
[0024]图2是根据本申请第一实施例的基于服务标签的路由网关实现方法的示意图;
[0025]图3是根据本申请第二实施例的智慧工地业务的默认服务的示意图;
[0026]图4是根据本申请第二实施例的智慧工地业务的定制服务的示意图;
[0027]图5是根据本申请第三实施例的基于服务标签的路由网关实现方法的示意图;
[0028]图6是根据本申请第四实施例的基于服务标签的路由网关实现系统的结构框图;
[0029]图7是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
[0030]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0031]显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的
技术实现思路
的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务标签的路由网关实现方法,其特征在于,在SASS环境中,预先为需要定制服务的租户在默认服务之外额外部署子服务,并为所述子服务打上所述租户的专属标签;所述方法包括:在租户所在客户端向API网关发起业务调用请求的情况下,确定所述请求是否指定专属标签;若是,则发送所述请求至所述专属标签对应的子服务;若否,则发送所述请求至所述默认服务。2.根据权利要求1所述的方法,其特征在于,所述发送所述请求至所述专属标签对应的子服务之前,所述方法还包括:确定所述专属标签对应的子服务是否存在,以在所述子服务存在的情况下,发送所述请求至所述子服务。3.根据权利要求1所述的方法,其特征在于,所述发送所述请求至所述专属标签对应的子服务之后,所述方法包括:确定是否还有下游服务待调用,若是,则将请求指定的路由持续透传到下游服务的请求中。4.根据权利要求1所述的方法,其特征在于,所述确定所述请求是否指定专属标签,过程包括:根据所述请求的服务类型以及租户ID,确定所述请求是否指定专属标签,其中,HTTP服务通过请求头指定专属标签,Dubbo服务通过透传参数指定专属标签,其余服务通过环境变量指定专属标签。5.一种基于服务标签的路由网关实现系统,其特征在于,在SASS环境中,预先为需要定制服务的租户在默认服务之外额外部署子服务,并为所述子服务打上所述租户的专属标签;所述系统包括:确定模块,用于在租户所在客户端向API网关发起业务调用请求的情况下,确定所述请...

【专利技术属性】
技术研发人员:金坚坚莫绪军章益明李继刚
申请(专利权)人:品茗科技股份有限公司
类型:发明
国别省市:

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

1