应用服务调用系统、方法以及装置制造方法及图纸

技术编号:21167148 阅读:36 留言:0更新日期:2019-05-22 09:40
本申请公开了一种应用服务调用系统,包括:控制中心模块,用于声明第一服务提供模块调用第二服务提供模块的服务声明配置,对所述第一服务提供模块基于所述服务声明配置发送的地址解析请求中包含的所述第二服务提供模块的服务地址进行解析,获得所述服务地址对应的负载地址并向所述第一服务提供模块发送;所述第一服务提供模块,基于所述控制中心模块发送的所述负载地址发送针对所述第二服务提供模块的调用请求;所述负载均衡模块,用于将所述调用请求转发至所述第二服务提供模块的实例上。所述应用服务调用系统能够适应不同的开发环境,针对不同开发环境中应用服务相互之间的调用实现负载均衡,应用范围更加广泛。

Application Service Call System, Method and Device

This application discloses an application service invocation system, which includes a control center module for declaring the service declaration configuration of the first service provision module invoking the second service provision module, and resolving the service address of the second service provision module contained in the address resolution request sent by the first service provision module based on the service declaration configuration to obtain the service. The load address corresponding to the service address is sent to the first service providing module; the first service providing module sends a call request for the second service providing module based on the load address transmitted by the control center module; and the load balancing module is used to forward the call request to an example of the second service providing module. The application service invocation system can adapt to different development environments, and realize load balancing between application services in different development environments. The application scope is more extensive.

【技术实现步骤摘要】
应用服务调用系统、方法以及装置
本申请涉及应用
,具体涉及一种应用服务调用系统。本申请同时涉及两种应用服务调用方法以及装置,一种应用服务调用请求转发方法以及装置,以及三种计算机可读介质。
技术介绍
在企业级的应用场景中,应用的功能越来越多样化,一个应用往往集成有多个功能,根据功能的不同划分出不同的服务模块,从而形成一个应用的多个服务,并且这些服务之间相互通信,比如购物应用的商品购买服务会调用交易支付服务;同时,不同服务由于业务复杂度或业务量的不同,有的服务会有不止一个的实例,在调用这些服务的过程中需要将请求按照一定的策略路由到被调用服务的实例上。目前实现这一调用的方案有如下两种:一是通过负载均衡设备或者软件实现负载均衡,比如通过LVS(LinuxVirtualServer)等负载均衡设备实现,具体是将被调用的服务挂载到负载均衡设备的后端端口上面,转发负载均衡前端端口上调用者的请求来实现负载均衡,并在后端服务变化时进行手动修改。二是通过注册中心的方式实现负载均衡,服务的实例启动时都会将自己的访问地址写到注册中心服务上,调用者在调用之前会先去注册中心取到被调用的服务的实例列表,然后再将请求直接发给被调用者的实例上。然而,上述第一种通过负载均衡设备或者软件实现的负载均衡,在不同的环境下需要进行配置使其与不同的环境匹配,比如在线上生产环境下以及本地开发测试环境下需要分别进行配置,增加了开发、测试、发布和运维的成本。上述第二种通过注册中心的方式实现的负载均衡,服务都需要遵守注册中心的协议,在应用采用各种异构语言编程的模式中,维护各种语言的注册中心的标准就增加了很大的成本;并且,需要在不同环境下配置不同的注册中心,同样会增加开发、测试、发布和运维的成本。
技术实现思路
本申请提供一种应用服务调用系统,以解决现有技术存在的缺陷。本申请另外提供两种应用服务调用方法以及装置,一种应用服务调用请求转发方法以及装置,以及三种计算机可读介质。本申请提供一种应用服务调用系统,包括:控制中心模块、第一服务提供模块、负载均衡模块和第二服务提供模块;其中,所述控制中心模块,用于声明所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,对所述第一服务提供模块基于所述服务声明配置发送的地址解析请求中包含的所述第二服务提供模块的服务地址进行解析,获得所述服务地址对应的负载地址并向所述第一服务提供模块发送;所述第一服务提供模块,用于向所述控制中心模块发送所述地址解析请求,接收所述控制中心模块发送的所述负载地址,并基于所述负载地址发送针对所述第二服务提供模块的调用请求;所述负载均衡模块,用于将所述调用请求转发至所述第二服务提供模块的实例上。可选的,所述服务声明配置,包括所述第二服务提供模块的服务地址。可选的,所述服务声明配置,包括下述至少一项:所述第二服务提供模块的服务标识、所述第二服务提供模块进行状态检查的检查类型和所述第二服务提供模块的实例数目。可选的,所述部署所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,包括:扫描所述服务声明配置;根据所述第二服务提供模块的实例数目在服务器上部署实例;按照所述检查类型对所述实例进行状态检查,判断所述实例的状态是否正常,若是,建立所述实例与所述负载均衡模块的第一端口的映射;若否,解除所述实例与所述负载均衡模块的第一端口的映射。可选的,所述声明所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,包括:扫描所述服务声明配置;根据所述第二服务提供模块的实例数目在服务器上部署实例;建立所述实例与所述负载均衡模块的第一端口的映射。可选的,所述声明所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,包括:扫描所述服务声明配置;根据所述第二服务提供模块的实例数目在服务器上部署实例;按照所述检查类型对所述实例进行状态检查,判断所述实例的状态是否正常,若是,建立所述实例与所述负载均衡模块的第一端口的映射。可选的,所述服务声明配置,包括下述至少一项:所述第一服务提供模块的服务标识和所述第一服务提供模块调用所述第二服务提供模块的调用声明。可选的,所述控制中心模块,用于将所述第一服务提供模块的实例部署在服务器上,并根据所述第一服务提供模块调用所述第二服务提供模块的调用声明部署所述第一服务提供模块的代理模块。可选的,所述代理模块按照一一对应原则与所述第一服务提供模块绑定。可选的,所述控制中心模块记录有所述服务地址与所述负载地址的对应关系,所述代理模块根据所述对应关系对所述服务地址进行解析,获得所述负载地址。可选的,所述服务地址,包括所述第二服务提供模块的域名;所述负载地址,包括所述负载均衡模块的IP地址。本申请提供的第一种应用服务调用方法,包括:声明第一服务提供模块调用第二服务提供模块的服务声明配置;接收所述第一服务提供模块发送的地址解析请求;所述地址解析请求中包含所述第二服务提供模块的服务地址;根据所述服务声明配置将所述服务地址解析到所述服务地址对应的负载地址;向所述第一服务提供模块发送所述负载地址。可选的,所述服务声明配置,包括所述第二服务提供模块的服务地址。可选的,所述服务声明配置,包括下述至少一项:所述第二服务提供模块的服务标识、所述第二服务提供模块进行状态检查的检查类型和所述第二服务提供模块的实例数目。可选的,所述声明第一服务提供模块调用第二服务提供模块的服务声明配置,采用如下方式实现:扫描所述服务声明配置;根据所述第二服务提供模块的实例数目部署实例;按照所述检查类型对所述实例进行状态检查,判断所述实例的状态是否正常,若是,建立所述实例与所述负载均衡模块的第一端口的映射;若否,解除所述实例与所述负载均衡模块的第一端口的映射。可选的,所述服务声明配置,包括下述至少一项:所述第一服务提供模块的服务标识和所述第一服务提供模块调用所述第二服务提供模块的调用声明。可选的,所述应用服务调用方法,包括:部署所述第一服务提供模块的实例;根据所述调用声明部署所述第一服务提供模块的代理模块;所述代理模块按照一一对应原则与所述第一服务提供模块绑定;其中,所述将所述服务地址解析到所述服务地址对应的负载地址步骤基于所述第一服务提供模块的代理模块实现。本申请提供的第一种应用服务调用装置,包括:服务声明配置声明单元,用于声明第一服务提供模块调用第二服务提供模块的服务声明配置;地址解析请求接收单元,用于基于所述服务声明配置接收所述第一服务提供模块发送的地址解析请求;所述地址解析请求中包含所述第二服务提供模块的服务地址;服务地址解析单元,用于根据所述服务声明配置将所述服务地址解析到所述服务地址对应的负载地址;负载地址发送单元,用于向所述第一服务提供模块发送所述负载地址。本申请提供的第二种应用服务调用方法,包括:向控制中心模块发送地址解析请求;所述地址解析请求中包含用于调用第二服务提供模块的服务地址;接收所述控制中心模块发送的所述服务地址对应的负载地址;基于所述负载地址发送针对所述第二服务提供模块的调用请求。本申请提供的第二种应用服务调用装置,包括:地址解析请求发送单元,用于向控制中心模块发送地址解析请求;所述地址解析请求中包含用于调用第二服务提供模块的服务地址;负载地址接收单元,用于接收所述控制中心模块本文档来自技高网
...

【技术保护点】
1.一种应用服务调用系统,其特征在于,包括:控制中心模块、第一服务提供模块、负载均衡模块和第二服务提供模块;其中,所述控制中心模块,用于声明所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,对所述第一服务提供模块基于所述服务声明配置发送的地址解析请求中包含的所述第二服务提供模块的服务地址进行解析,获得所述服务地址对应的负载地址并向所述第一服务提供模块发送;所述第一服务提供模块,用于向所述控制中心模块发送所述地址解析请求,接收所述控制中心模块发送的所述负载地址,并基于所述负载地址发送针对所述第二服务提供模块的调用请求;所述负载均衡模块,用于将所述调用请求转发至所述第二服务提供模块的实例上。

【技术特征摘要】
1.一种应用服务调用系统,其特征在于,包括:控制中心模块、第一服务提供模块、负载均衡模块和第二服务提供模块;其中,所述控制中心模块,用于声明所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,对所述第一服务提供模块基于所述服务声明配置发送的地址解析请求中包含的所述第二服务提供模块的服务地址进行解析,获得所述服务地址对应的负载地址并向所述第一服务提供模块发送;所述第一服务提供模块,用于向所述控制中心模块发送所述地址解析请求,接收所述控制中心模块发送的所述负载地址,并基于所述负载地址发送针对所述第二服务提供模块的调用请求;所述负载均衡模块,用于将所述调用请求转发至所述第二服务提供模块的实例上。2.根据权利要求1所述的应用服务调用系统,其特征在于,所述服务声明配置,包括所述第二服务提供模块的服务地址。3.根据权利要求1或2所述的应用服务调用系统,其特征在于,所述服务声明配置,包括下述至少一项:所述第二服务提供模块的服务标识、所述第二服务提供模块进行状态检查的检查类型和所述第二服务提供模块的实例数目。4.根据权利要求3所述的应用服务调用系统,其特征在于,所述部署所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,包括:扫描所述服务声明配置;根据所述第二服务提供模块的实例数目在服务器上部署实例;按照所述检查类型对所述实例进行状态检查,判断所述实例的状态是否正常,若是,建立所述实例与所述负载均衡模块的第一端口的映射;若否,解除所述实例与所述负载均衡模块的第一端口的映射。5.根据权利要求3所述的应用服务调用系统,其特征在于,所述声明所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,包括:扫描所述服务声明配置;根据所述第二服务提供模块的实例数目在服务器上部署实例;建立所述实例与所述负载均衡模块的第一端口的映射。6.根据权利要求3所述的应用服务调用系统,其特征在于,所述声明所述第一服务提供模块调用所述第二服务提供模块的服务声明配置,包括:扫描所述服务声明配置;根据所述第二服务提供模块的实例数目在服务器上部署实例;按照所述检查类型对所述实例进行状态检查,判断所述实例的状态是否正常,若是,建立所述实例与所述负载均衡模块的第一端口的映射。7.根据权利要求1至6任意一项所述的应用服务调用系统,其特征在于,所述服务声明配置,包括下述至少一项:所述第一服务提供模块的服务标识和所述第一服务提供模块调用所述第二服务提供模块的调用声明。8.根据权利要求7所述的应用服务调用系统,其特征在于,所述控制中心模块,用于将所述第一服务提供模块的实例部署在服务器上,并根据所述第一服务提供模块调用所述第二服务提供模块的调用声明部署所述第一服务提供模块的代理模块。9.根据权利要求8所述的应用服务调用系统,其特征在于,所述代理模块按照一一对应原则与所述第一服务提供模块绑定。10.根据权利要求9所述的应用服务调用系统,其特征在于,所述控制中心模块记录有所述服务地址与所述负载地址的对应关系,所述代理模块根据所述对应关系对所述服务地址进行解析,获得所述负载地址。11.根据权利要求1至10任意一项所述的应用服务调用系统,其特征在于,所述服务地址,包括所述第二服务提供模块的域名;所述负载地址,包括所述负载均衡模块的IP地址。12.一种应用服务调用方法,其特征在于,包括:声明第一服务提供模块调用第二服务提供模块的服务声明配置;接收所述第一服务提供模块发送的地址解析请求;所述地址解析请求中包含所述第二服务提供模块的服务地址;根据所述服务声明配置将所述服务地址解析到所述服务地址对应的负载地址;向所述第一服务提供模块发送所述负载地址。13.根据权利要求12所述的应用服务调用方法,其特征在于,所述服务声明配置,包括所述第二服务提供模块的服务地址。14.根据权利要求12或13所述的应用服务调用方法,其特征在于,所述服务声明配置,包括下述至少一项:所述第二服务提供模块的服务标识、所述第二服务提供模块进行状态检查的检查类型和所述第二服务提供模块的实例数目。15.根据权利...

【专利技术属性】
技术研发人员:王炳燊谭林华
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1