System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 服务间相互调用管理的实现方法技术_技高网

服务间相互调用管理的实现方法技术

技术编号:40966831 阅读:2 留言:0更新日期:2024-04-18 20:47
本发明专利技术公开了一种服务间相互调用管理的实现方法,包括:所有服务在启动时添加启动参数,完成agent包的对接;服务启动添加agent包完成对接后,服务启动时完成服务中所有的接口元数据的上报;调用方如需调用被调用方的接口,则选择被调用方的接口进行订阅;调用方启动接入agent包后,发起请求时,携带自定义请求头,请求头内容为调用方服务名;被调用方启动时,拉取对应服务的被订阅记录;调用方调用被调用方的接口时,被调用方的拦截器根据拉取的订阅记录,判断调用方是否订阅了调用方的接口,如果没有订阅则进行拦截,如果订阅过则进行放行;本发明专利技术采用字节码增强技术实现了服务间调用的管理。

【技术实现步骤摘要】

本专利技术涉及java后端,特别是一种服务间相互调用管理的实现方法


技术介绍

1、目前市面上分布式系统应用越来越广泛,在分布式系统中,随着服务数量的增加,服务与服务之间的相互调用场景越来越多,久而久之,服务间的调用关系网也会越来越复杂,对于服务间的相互调用管理也变得难以管理,管理点如:第一、目前某服务中有一个接口被调用,需要被修改,但是无法知晓被哪些服务调用,如果盲目修改进行上线,对于存在的风险无法评估;第二、对于开放出去的接口,需要对调用方进行控制,授权给调用方后方可被调用,否则无法保证接口的安全性;第三、每个服务一般接口达到几十或上百个,无法区分哪些接口是提供web端调用,哪些接口是提供给后端调用。目前虽然可以通过提供一个sdk的方式实现对这一块的管理,但是对于服务数量很多的情况不友好,需要每个服务对接sdk的难度变得困难,并且sdk需要考虑各个技术栈之间的兼容问题,还要考虑所有服务对接完的上线时间,一时无法完成全部对接。


技术实现思路

1、为解决现有技术中存在的问题,本专利技术的目的是提供一种服务间相互调用管理的实现方法,本专利技术采用字节码增强技术实现了服务间调用的管理。

2、为实现上述目的,本专利技术采用的技术方案是:一种服务间相互调用管理的实现方法,包括以下步骤:

3、步骤1、接入agent包,所有服务在启动时添加启动参数,从而完成agent包的对接;

4、步骤2、服务启动添加agent包完成对接后,服务启动时完成服务中所有的接口元数据的上报;

5、步骤3、调用方如需调用被调用方的接口,则选择被调用方的接口进行订阅;

6、步骤4、调用方启动接入agent包后,发起请求时,携带自定义请求头,请求头内容为调用方服务名;

7、步骤5、被调用方启动时,拉取对应服务的被订阅记录;

8、步骤6、调用方调用被调用方的接口时,被调用方的拦截器根据拉取的订阅记录,判断调用方是否订阅了调用方的接口,鉴权之前对该次调用记录上报,如果没有订阅则进行拦截,并修改http请求状态为错误并返回,如果订阅过则进行放行。

9、作为本专利技术的进一步改进,在步骤4中,还包括对所述请求头内容进行加密。

10、本专利技术实现了服务间接口调用的管理:实现了每个服务所有接口元数据的可视化,可以明确知道服务中哪些接口是后端之间相互调用,哪些接口是被前端调用,及接口的调用记录,且通过订阅机制和拦截器机制控制服务间的相互调用,从而实现服务间的相互调用进行管理。

11、本专利技术采用字节码增强技术实现:如果实现统一的方式实现,虽然sdk的方式可以实现,但是后续由于兼容性问题短时间内完成所有的对接可能会很困难,也很难在短时间内完成统一上线,采用字节码增强agent的方式,大大减少对接的复杂度和上线的难度。

12、本专利技术的有益效果是:

13、本专利技术通过java字节码增强的方式,实现接口元数据的上报,发送的请求添加自定义加密请求头,并添加请求拦截器,实现在agent包中完成对调用方的请求进行认证鉴权,并对调用记录进行上报,进行知晓服务中接口被哪些服务调用,通过拦截器鉴权保证服务间的相互调用的安全性,进而实现服务调用关系之间的管理,并且采用字节码增强的方式方案实现,开发人员无需关心对接的问题,运维人员统一在启动参数中添加agent包完成对接,且统一进行重启就完成了对接,解决了对接困难,统一发版上线的问题。

本文档来自技高网...

【技术保护点】

1.一种服务间相互调用管理的实现方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的服务间相互调用管理的实现方法,其特征在于,在步骤4中,还包括对所述请求头内容进行加密。

【技术特征摘要】

1.一种服务间相互调用管理的实现方法,其特征在于,包括以下步骤:

2.根据权利要求...

【专利技术属性】
技术研发人员:董斌刘祖伟
申请(专利权)人:成都新潮传媒集团股份有限公司
类型:发明
国别省市:

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

1