本公开实施例提供一种服务调用方法及设备,该方法在接收服务请求方发送的调用请求后,其中,该调用请求携带服务请求方的令牌和ip,该令牌用于标定全局唯一的微服务,通过检验上述令牌是否为空,比较上述令牌与服务请求方对应的目标令牌是否一致,比较上述ip与服务请求方对应的目标ip是否一致,对微服务间的请求进行鉴权,进而,保证微服务被合法的调用,另外,在上述服务调用过程中在校验令牌的同时,也校验请求来源的ip的合法性,防范令牌被冒用,设置双重保障,提高服务调用的安全性,解决同一个内部网络中服务调用安全的问题,满足多种应用场景的应用要求。
Service call method and equipment
【技术实现步骤摘要】
服务调用方法及设备
本公开实施例涉及微服务
,尤其涉及一种服务调用方法及设备。
技术介绍
在个人计算机(PersonalComputer,简称PC)时代,软件系统一般是由一整套代码打包部署,是一个单体应用系统,开发过程中,也是一套整体的代码工程,所有的开发人员都是一套代码工程上编写代码。进入到互联网时代后,软件系统越来越复杂,单体应用带来的模块紧耦合、不易扩展、性能低下等问题越来越明显,因此,慢慢形成了以微服务为主流的互联网技术架构。微服务的技术架构,不同于传统的单体应用,其系统整体是由若干个独立的微服务系统组成。这些微服务间彼此独立,每个微服务都是独立的代码工程,可以拥有仅供自己使用的数据库,通过远程过程调用(remoteprocedurecall,简称rpc)协议、超文本传输协议http等请求其他微服务,微服务间约定好接口和参数及返回值。其中,微服务间的调用,一般是通过互联网协议地址(internetprotocol,简称ip)、端口及接口名称等进行服务调用。然而,通常情况下,只要了解到上述ip、端口及接口名称等信息,在同一个内部网络中就可以调用微服务,获取微服务中的数据,存在服务调用安全问题。
技术实现思路
本公开实施例提供一种服务调用方法及设备,以克服同一个内部网络中服务调用安全的问题。第一方面,本公开实施例提供一种服务调用方法,包括:接收服务请求方发送的调用请求,所述调用请求携带所述服务请求方的令牌和ip,所述令牌用于标定全局唯一的微服务;检验所述令牌是否为空;若所述令牌不为空,则比较所述令牌与所述服务请求方对应的目标令牌是否一致;若所述令牌与所述服务请求方对应的目标令牌一致,则比较所述ip与所述服务请求方对应的目标ip是否一致;若所述ip与所述服务请求方对应的目标ip一致,则执行所述调用请求。第二方面,本公开实施例提供一种服务调用设备,包括:接收模块,用于接收服务请求方发送的调用请求,所述调用请求携带所述服务请求方的令牌和ip,所述令牌用于标定全局唯一的微服务;检验模块,用于检验所述令牌是否为空;第一比较模块,用于若所述令牌不为空,则比较所述令牌与所述服务请求方对应的目标令牌是否一致;第二比较模块,用于若所述令牌与所述服务请求方对应的目标令牌一致,则比较所述ip与所述服务请求方对应的目标ip是否一致;执行模块,用于若所述ip与所述服务请求方对应的目标ip一致,则执行所述调用请求。第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的服务调用方法。第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的服务调用方法。本公开实施例提供的服务调用方法及设备,该方法在接收服务请求方发送的调用请求后,其中,该调用请求携带服务请求方的令牌和ip,该令牌用于标定全局唯一的微服务,通过检验上述令牌是否为空,比较上述令牌与服务请求方对应的目标令牌是否一致,比较上述ip与服务请求方对应的目标ip是否一致,对微服务间的请求进行鉴权,进而,保证微服务被合法的调用,另外,在上述服务调用过程中在校验令牌(token)的同时,也校验请求来源的ip的合法性,防范token被冒用,设置双重保障,提高服务调用的安全性,解决同一个内部网络中服务调用安全的问题,满足多种应用场景的应用要求。附图说明为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开实施例提供的服务调用方法的流程示意图一;图2为本公开实施例提供的服务调用方法的流程示意图二;图3为本公开实施例提供的服务调用设备的结构示意图一;图4为本公开实施例提供的服务调用设备的结构示意图二;图5为本公开实施例提供的服务调用设备的硬件结构示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。微服务的架构相比PC时代流行的单体应用,在服务的扩展性和服务解耦方面和系统性能方面提高了很多,更适合跨团队的多人协作开发模式。但是,通常情况下,微服务架构上重点只关注在了服务发现和服务治理,对于服务的调用安全并没有太多考虑。同一个内部网络中,其他的服务在获取到这些微服务的ip、端口和接口名称后,就可以通过rpc或者http协议直接发起请求,获取微服务中的数据,存在服务调用安全问题。因此,考虑到上述问题,本公开提供一种服务调用方法,在接收服务请求方发送的调用请求后,其中,该调用请求携带服务请求方的令牌和ip,该令牌用于标定全局唯一的微服务,通过检验上述令牌是否为空,比较上述令牌与服务请求方对应的目标令牌是否一致,比较上述ip与服务请求方对应的目标ip是否一致,对微服务间的请求进行鉴权,进而,保证微服务被合法的调用,另外,在校验token的同时,也校验请求来源的ip的合法性,防范token被冒用,设置双重保障,提高服务调用的安全性,解决同一个内部网络中服务调用安全的问题。本公开提供的一种服务调用方法,可以适用于下述的服务调用系统:该系统包括一个安全代理模块,该模块设置在微服务调用的请求链路上,所有的请求先经过这个安全代理验证,验证通过后才会继续往下传递这个请求,不通过的直接拒绝服务。这里,安全代理模块是独立的逻辑,可以封装在一个单独的库文件里,每个微服务的请求链路上都要配置这个安全代理,每一个对微服务的调用请求都会先流经这个安全代理,验证通过后才会被微服务本身处理。在具体实现过程中,安全代理模块可以接收服务请求方发送的调用请求,其中,该调用请求携带服务请求方的令牌和ip,该令牌用于标定全局唯一的微服务,可以检验上述令牌是否为空,如果不为空,可以比较上述令牌与服务请求方对应的目标令牌是否一致,如果一致,可以可以比较上述ip与服务请求方对应的目标ip是否一致,如果一致,则执行上述调用请求。应理解上述系统仅为一种示例性系统,具体实施时,可以根据应用需求设置。下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体地实施本文档来自技高网...
【技术保护点】
1.一种服务调用方法,其特征在于,包括:/n接收服务请求方发送的调用请求,所述调用请求携带所述服务请求方的令牌和互联网协议地址ip,所述令牌用于标定全局唯一的微服务;/n检验所述令牌是否为空;/n若所述令牌不为空,则比较所述令牌与所述服务请求方对应的目标令牌是否一致;/n若所述令牌与所述服务请求方对应的目标令牌一致,则比较所述ip与所述服务请求方对应的目标ip是否一致;/n若所述ip与所述服务请求方对应的目标ip一致,则执行所述调用请求。/n
【技术特征摘要】
1.一种服务调用方法,其特征在于,包括:
接收服务请求方发送的调用请求,所述调用请求携带所述服务请求方的令牌和互联网协议地址ip,所述令牌用于标定全局唯一的微服务;
检验所述令牌是否为空;
若所述令牌不为空,则比较所述令牌与所述服务请求方对应的目标令牌是否一致;
若所述令牌与所述服务请求方对应的目标令牌一致,则比较所述ip与所述服务请求方对应的目标ip是否一致;
若所述ip与所述服务请求方对应的目标ip一致,则执行所述调用请求。
2.根据权利要求1所述的方法,其特征在于,所述调用请求还携带所述服务请求方的身份标识;
在所述比较所述令牌与所述服务请求方对应的目标令牌是否一致之前,还包括:
根据所述身份标识,以及预存的微服务的身份标识、令牌与ip的对应关系,确定所述服务请求方对应的目标令牌和目标ip。
3.根据权利要求1所述的方法,其特征在于,还包括:
若所述令牌与所述服务请求方对应的目标令牌不一致,则判定所述调用请求为不合法请求,停止执行所述调用请求,更新记录的预设时间段内所述ip对应的不合法请求次数;
若更新后的不合法请求次数达到预设次数阈值,则拒绝所述ip再发来的调用请求。
4.根据权利要求1所述的方法,其特征在于,还包括:
获取所述令牌的有效期;
根据所述有效期判断所述令牌是否有效;
若所述令牌有效,则执行所述比较所述令牌与所述服务请求方对应的目标令牌是否一致的步骤。
5.根据权利要求1或2所述的方法,其特征在于,在所述接收服务请求方发送的调用请求之前,还包括:
记录微服务的身份标识、令牌与ip的对应关系,并将所述对应关系通知整个微服务体系内的所有微服务。
6.根据权利要求1所述的方法,其特征在于,还包括:
若所述ip与所述服务请求方对应的目标ip不一致,则判定所述调用请求为不合法请求,停止执行所述调用请求。
7.一种服务调用设备,其特征在于,包括:
接收模块,用于接收服务请求方发送的调用请求,所述调用请求携带所述服务请求方的令牌和ip,所述令牌用于标定全局唯一的微服务;
检验模块,用于检验所述令牌是否为空;
第一比较模块,用于若所述令牌不为空,则比较所述令牌与所述服务请求方对应的目标令牌是否一致;<...
【专利技术属性】
技术研发人员:郑海波,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。