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)等负载均衡设备实现,具体是将被调用的服务挂载到负载均衡设备的后端端口上面,转发负载均衡前端端口上调用者的请求来实现负载均衡,并在后端服务变化时进行手动修改。二是通过注册中心的方式实现负载均衡,服务的实例启动时都会将自己的访问地址写到注册中心服务上,调用者在调用之前会先去注册中心取到被调用的服务的实例列表,然后再将请求直接发给被调用者的实例上。然而,上述第一种通过负载均衡设备或者软件实现的负载均衡,在不同的环境下需要进行配置使其与不同的环境匹配,比如在线上生产环境下以及本地开发测试环境下需要分别进行配置,增加了开发、测试、发布和运维的成本。上述第二种通过注册中心的方式实现的负载均衡,服务都需要遵守注册中心的协议,在应用采用各种异构语言编程的模式中,维护各种语言的注册中心的标准就增加了 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。