CN113364775A - 微服务的调用方法、装置及服务器 - Google Patents

微服务的调用方法、装置及服务器 Download PDF

Info

Publication number
CN113364775A
CN113364775A CN202110625531.XA CN202110625531A CN113364775A CN 113364775 A CN113364775 A CN 113364775A CN 202110625531 A CN202110625531 A CN 202110625531A CN 113364775 A CN113364775 A CN 113364775A
Authority
CN
China
Prior art keywords
service
calling
source
identifier
group identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110625531.XA
Other languages
English (en)
Other versions
CN113364775B (zh
Inventor
李建奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202110625531.XA priority Critical patent/CN113364775B/zh
Publication of CN113364775A publication Critical patent/CN113364775A/zh
Application granted granted Critical
Publication of CN113364775B publication Critical patent/CN113364775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Abstract

本公开提供了一种微服务的调用方法、装置及服务器,属于微服务技术领域。该方法应用于ESB平台,该ESB平台中存储WMS SAAS平台中各个微服务间的调用关系,该方法包括:接收第一服务的服务器发送的第一服务的第一源分组标识;根据第一源分组标识,查找第一调用关系;第一调用关系指示第一源分组标识对应第二服务的第一目的分组标识;根据第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。通过本公开实施例的技术方案,可以解决在全局上微服务的调用关系的管理不够直观的问题。

Description

微服务的调用方法、装置及服务器
技术领域
本公开属于微服务技术领域,具体涉及一种微服务的调用方法、装置及服务器。
背景技术
随着云计算技术的发展,可以采用微服务架构建设大型的仓库管理系统软件即服务(warehouse management system software-as-a-service,WMS SAAS)平台。
通常,在微服务架构中,服务之间的调用关系一般由服务设备自己配置,并存储在各个服务设备上。以出库服务和库存服务之间的调用关系为例,假设租户租用了仓库1,该仓库1中包括三个分组的库存,分别为分组1、分组2和分组3。对于一个出库业务,需要明确出库服务和库存服务之间的调用关系,假设在一个出库业务1中,出库服务1调用分组1的库存服务,则出库服务的服务设备中存储了出库服务1调用仓库1的分组1的库存服务的调用关系。
然而,对于大型的WMS SAAS平台,一般会部署大量的微服务设备,因此也会在各个服务所在的服务设备上存储大量的调用关系,若需要从全局管理各个服务的调用关系,则需要人工收集存储在各个服务设备上的调用关系,如此导致在全局上微服务的调用关系的管理不够直观。
发明内容
本公开实施例的目的是提供一种微服务的调用方法、装置及服务器,能够解决在全局上微服务的调用关系的管理不够直观的问题。
为了解决上述技术问题,本公开是这样实现的:
第一方面,本公开实施例提供了一种微服务的调用方法,应用于企业服务总线(enterprise service bus,ESB)平台,该ESB平台中存储WMS SAAS平台中各个微服务间的调用关系,该方法包括:接收第一服务的服务设备发送的第一服务的第一源分组标识;根据第一源分组标识,查找第一调用关系;第一调用关系指示第一源分组标识对应第二服务的第一目的分组标识;根据第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。
第二方面,本公开实施例提供了一种微服务的调用装置,应用于ESB平台,该ESB平台中存储WMS SAAS平台中各个微服务间的调用关系,该微服务的调用装置包括:接收模块、查找模块和调用模块;该接收模块,用于接收第一服务的服务设备发送的第一服务的第一源分组标识;该查找模块,用于根据接收模块接收的第一源分组标识,查找第一调用关系,该第一调用关系指示第一源分组标识对应的第二服务的第一目的分组标识;该调用模块,用于根据该查找模块查找到的第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。
第三方面,本公开实施例提供了一种服务器,该服务器包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本公开实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本公开实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本公开实施例中,由于ESB平台中可以存储WMS SAAS平台中各个微服务之间的调用关系,在ESB平台接收到一个服务的服务设备发送的第一服务的第一源分组标识之后,可以先根据该第一服务的第一源分组标识查找对应的第一调用关系,该第一调用关系指示第一源分组标识对应第二服务的第一目的分组标识,然后,ESB平台可以根据该第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。由于各个微服务之间的调用关系集中存储在ESB平台中,一方面,ESB平台可以从全局直观地管理各个服务之间的调用关系,可以为各个微服务快速调用其他微服务;另一方面各个微服务的服务设备中不再需要存储并管理该服务和其他服务间的调用关系,降低了大型的WMS SAAS平台中分散的调用关系的管理成本。
附图说明
图1为本公开实施例提供的微服务的架构示意图之一;
图2为本公开实施例提供的微服务的调用方法的流程示意图之一;
图3为一种传统的微服务的架构示意图;
图4为本公开实施例提供的微服务的架构示意图之二;
图5为本公开实施例提供的一种注册调用关系的示意图;
图6为本公开实施例提供的微服务的调用方法的流程示意图之二;
图7为本公开实施例提供的一种微服务的调用装置可能的结构示意图;
图8为本公开实施例提供的一种服务器可能的结构示意图;
图9为本公开实施例提供的一种服务器的硬件示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本公开实施例提供的微服务的调用方法进行详细地说明。
图1为本公开实施例提供的一个微服务架构的示意图,如图1中所示,该微服务架构包括:ESB平台100和多个微服务101。其中,ESB平台100中存储了各个微服务101之间的调用关系,ESB平台可以根据ESB平台中存储的微服务间的调用关系,为微服务调用其他的微服务。
通常,微服务是指在传统软件应用架构基础上,按照业务能力将系统拆分成多个服务,每个服务都是一个独立的应用,对外提供一系列的公共服务应用程序接口(application program interface,API),服务之间以轻量的方式互相调用。
可以理解,一个微服务可以调用其他微服务,也可以被其他微服务调用。
为了便于说明,在本公开实施例的示例中,ESB平台中存储WMS SAAS平台中各个微服务之间的调用关系,在以WMS SAAS平台中的出库服务和库存服务两个微服务进行示例说明。
示例性地,仓库对应的库存服务包括3个微服务,分别为“库存:分组1”、“库存:分组2”和“库存:分组3”。出库服务也可以包括3个微服务,分别为“出库:分组1”、“出库:分组2”、“出库:分组3”。ESB平台中可以存储调用关系1为“出库:分组1”调用“库存:分组1”、调用关系2为“出库:分组2”调用“库存:分组2”、调用关系3为“出库:分组3”调用“库存:分组3”。
图2为本公开实施例提供的一种微服务的调用方法的流程示意图,如图2中所示,该方法可以包括下述的S201至S203:
S201、ESB平台接收第一服务的服务设备发送的第一服务的第一源分组标识。
其中,源分组标识指示的是存在调用关系的两个服务中的上游服务(调用其他服务的服务)的分组标识,目的分组标识指示的是存在调用关系的两个服务中的下游服务(被调用的服务)的分组标识。
需要说明的是,对于同一个服务,包括可以提供服务的多个分组的服务设备,每个分组的服务设备均可以提供该服务。服务的分组标识,可以指示该服务的分组,也可以指示提供该服务的服务设备的分组。
例如,库存服务可以包括3个分组的服务设备,每个分组的服务设备均可以提供库存服务,即可以包括3个库存服务。
通常,一个服务的分组可以对应具体的业务类型,例如“出库:分组1”对应的是化工用品的出库、“出库:分组2”对应的是农业用品的出库。
在本公开实施例中,每个服务均配置有提供服务的服务设备,服务设备可以为业务提供服务,服务设备可以将为业务提供服务的分组标识发送给ESB平台。
S202、ESB平台根据第一源分组标识,查找第一调用关系。
其中,第一调用关系指示第一源分组标识对应第二服务的第一目的分组标识。
可以理解,第一调用关系指示第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。
需要说明的是,ESB平台中可以为租户的每个业务存储需要使用的微服务间的调用关系。
S203、ESB平台根据第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。
可以理解,在本公开实施例中,提供服务的各个服务设备中不再需要存储对应的调用关系,服务不再调用服务,而是ESB平台根据ESB平台中存储的调用关系为上游服务调用下游服务。
在相关技术中,各个微服务之间直接进行调用。例如,假设租户租用仓库,一个业务可以为出库业务,出库业务需要使用出库服务,出库服务需要调用库存业务。以该租户可以使用3个库存服务和3个出库服务为例,3个库存服务分别为:“库存:分组1”、“库存:分组2”和“库存:分组3”;3个出库服务分别为“出库:分组1”、“出库:分组2”和“出库:分组3”。其中,“出库:分组1”调用“库存:分组1”(记为调用关系1),“出库:分组2”调用“库存:分组2”(记为调用关系2),“出库:分组3”调用“库存:分组3”(记为调用关系3)。图3为一种传统的微服务的架构示意图,出库服务的服务设备中存储了每个出库服务调用库存服务的调用关系,每个出库服务根据出库服务的服务设备中存储的调用关系直接调用对应的库存服务。图4为本公开实施例提供的一种微服务的架构示意图,每个出库服务可以通过ESB平台调用库存服务,每个出库服务的服务设备中不再需要存储出库服务调用库存服务的调用关系。
本公开实施例提供的微服务的调用方法中,由于ESB平台中可以存储WMS SAAS平台中各个微服务之间的调用关系,在ESB平台接收到一个服务的服务设备发送的第一服务的第一源分组标识之后,可以先根据该第一服务的第一源分组标识查找对应的第一调用关系,该第一调用关系指示第一源分组标识对应第二服务的第一目的分组标识,然后,ESB平台可以根据该第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。由于各个微服务之间的调用关系集中存储在ESB平台中,一方面,ESB平台可以从全局直观地管理各个服务之间的调用关系,可以为各个微服务快速调用其他微服务;另一方面各个微服务的服务设备中不再需要存储并管理该服务和其他服务间的调用关系,降低了大型的WMS SAAS平台中分散的调用关系的管理成本。
可选地,在本公开实施例提供的微服务的调用方法中,ESB平台还可以为业务在线注册使用的各个服务的调用关系。
示例性地,可以在ESB平台中输入注册请求,进行调用关系的注册。该注册请求包括第一服务的分组标识和第二服务的分组标识。
ESB平台可以响应于注册请求,在ESB平台中注册第一服务的分组标识为第一源分组标识、第二服务的分组标识为第一目的分组标识、第一源分组标识对应的第一服务和第一目的分组标识对应的第二服务的调用关系为第一调用关系。
例如:ESB平台可以根据注册请求,将库存服务“库存1,分组1”的对应的分组1注册为第一源分组标识,将出库服务“出库,分组1”对应的分组1注册为第二源分组标识,将库存服务“库存1,分组1”和出库服务“出库,分组1”的调用关系为调用关系1。
示例性地,若租户需要拓展新的业务,则可以通过ESB平台进行快速在线拓展。比如可以在线为租户增加出库业务扩展点。在租户原有业务不包括电子产品的销售的情况下,租户新增了业务销售电子产品,则可以为租户在ESB平台中增加电子产品的出库业务扩展点。
图5为本公开实施例提供的一种注册调用关系的示意图。假设需要租户a的出库服务增加一个高值扩展点,则可以在ESB平台中为租户a注册一个高值扩展点。结合图4,在高值扩展点注册成功之后,如图5所示,微服务的架构中可以为该租户新增一个出库服务“出库:分组4”。在ESB平台中还可以快速配置该出库服务对应的库存服务的分组以及服务的调用关系。若接收到出库业务,ESB平台可以快速为该出库服务调用对应库存业务。
具体地,可以采用如下的配置方式配置出库服务的高值扩展点对应的高值扩展项:
extention:{
扩展点编号:1
租户:a
业务:出库
源:出库
路由:isHighValue(parameter)//用一段脚本调用,决定是否走这个扩展
endpoint:highValue:1//用service名字和分组代表一个可调用的节点
}
需要说明的是,在配置完成并注册成功之后,ESB平台中可以为出库业务存储扩展点的扩展项。如表1中所示,ESB平台为出库服务增加了扩展点1。
表1
业务 Service 扩展点
出库 出库 1
需要说明的是,在配置了出库业务的扩展点之后,若ESB平台确定有出库服务调用的情况下,可以遍历出库服务的扩展点下的所有扩展项,确定是否调用该扩展点的服务。
可选地,ESB平台可以在确定调用出库服务的情况下,可以先调用扩展点查询,再调用其他分组查询,也可以先调用其他分组查询,再调用扩展点查询,本公开对此不作具体限定。
基于该方案,若租户需要进行业务扩展,可以通过ESB平台快速为租户注册扩展点,可扩展性强,不再需要维护人员去服务设备所在的本地增加,可以缩短提供服务的调用关系的配置时间,可以灵活地支持灰度发布,快速扩展业务,快速为用户提供服务。
可选地,在本公开实施例提供的微服务的调用方法中,在ESB平台中已经注册了服务间的调用关系之后,还可以在ESB平台中更改已注册的调用关系。
示例性地,可以在ESB平台中输入变更请求,该变更请求用于更新第一服务和第二服务的调用关系。
进而,ESB平台可以响应于变更请求,将第一调用关系更新为第二调用关系。
其中,第一调用关系指示第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务,第二调用关系指示第一源分组标识对应的第一服务调用第二目的分组标识对应的第二服务。
具体地,ESB平台可以根据变更后的第二调用关系,为第一源分组标识对应的第一服务调用第二目的分组标识对应的第二服务。
例如,分组1的出库服务的原本调用关系为“出库:分组1”调用“库存:分组1”,在库存服务的服务设备变更之后,分组1更改为分组1-1,则可以在ESB平台中将出库业务1的调用关系为“出库:分组1”修改为“库存:分组1-1”。在接收到出库的服务设备发送的“出库:分组1”的分组标识之后,ESB平台可以根据为该服务调用“库存:分组1-1”的库存服务。
基于该方案,在提供服务的设备发生变化之后,ESB平台可以根据变更请求更新相关服务之间的调用关系,在需要变更的服务关系较多的情况下,不再需要大量的维护人员花费较长的时间去服务设备所在的本地进行重新配置,通过ESB平台可以快速地更新调用关系,因此可以在服务设备发生变化的情况下快速地恢复服务,并降低维护调用关系的成本。
可选地,如图6中所示,本公开实施例提供的微服务的调用方法中,在上述的S201之前,还可以包括下述的S204至S206:
S204、ESB平台接收第一业务调用服务的业务信息。
其中,该业务信息包括第一业务对应的第三服务的第三源分组标识。
示例性地,业务信息可以为客户端设备向ESB平台发送的。
可选地,业务信息还可以包括以下至少一项:业务的标识、源服务的服务名称、源服务的源分组标识、服务的版本、附属信息等。
其中,业务信息中的服务版本可以指示一个调用关系中的被调用服务的服务版本,可以方便业务的升级。
需要说明的是,在同一个分组中,可以包括多个服务设备,存在部分设备的服务版本升级,部分服务设备的版本未升级的场景,ESB平台中可以存储升级前的服务版本和升级后的服务版本,即同一个分组下的服务包括不同的服务版本。若一个业务对应升级前的版本,则调用升级前的服务版本对应的机器提供服务,若一个业务对应升级后的版本,则调用升级后的服务版本对应的机器提供服务。
附属可以携带ESB平台需要的其他信息,例如附属可以携带一个指示信息指示该调用为压测调用。业务相关信息可以包括具体产品的信息。
在本公开实施例中,ESB平台中可以存储一个调用关系表格,该调用关系表格中可以存储一个业务的源服务和目的服务的调用关系。该调用关系表格中可以包括业务的标识、源服务的服务名称、源服务的源分组标识、目的服务的服务名称、目的服务的目的分组标识、版本、附属信息、业务相关信息等。
示例性地,表2为本公开实施例中的一种调用关系的示例性表格。
表2
业务 源分组 目的 目的分组 版本 附属
业务1 出库 1 库存 1 1
如表2中所示,可以包括业务的标识为1、源服务的服务名称为出库、源服务的源分组标识为1、目的服务的服务名称为库存、目的服务的目的分组标识为1、调用关系的版本1、附属信息为空。
S205、ESB平台根据第三源分组标识,查找第三调用关系。
其中,第三调用关系指示第三源分组标识对应的第三服务调用第一目的分组标识对应的第一服务。
S206、ESB平台根据第三调用关系为第三源分组标识对应的第三服务调用第一目的分组标识对应的第一服务。
其中,第三目的分组标识和第一源分组标识的分组标识相同。
可以理解,对于一个服务,可以为被调用的服务,也可以为调用其他服务的服务,该服务的分组标识可以为源分组标识,也可以为目标分组标识。
示例性地,业务1需要使用3个微服务,依次为服务1、服务2和服务3,ESB平台在接收到业务1的调用服务的请求之后,ESB平台可以为该业务直接调用服务1,服务1的服务器向ESB平台发送业务1调用的服务1分组标识1后,ESB平台根据服务1的分组标识1查找调用的服务2的分组标识2,然后为分组标识1的服务1调用分组标识2的服务2,然后服务2的服务器向ESB平台发送业务1调用的服务2的分组标识2,ESB平台根据服务2的分组标识2查找调用的服务3的分组标识3,然后为分组标识2的服务2调用分组标识3的服务3。
基于该方案,用户在客户端操作之后产生业务,客户端可以向ESB平台发送业务信息调用ESB平台,ESB平台在接收到业务信息调用ESB的请求之后,ESB平台可以为该业务直接调用对应的服务。
可选地,在本公开实施例提供的微服务的调用方法中,ESB平台还可以统计租户使用服务的使用情况。在租户促销的时候,可以根据租户的服务的使用情况,确定是否需要为租户增加服务设备,在租户完成促销之后,也可以根据租户的服务的使用情况,确定是否需要为租户减少服务设备,可以避免服务设备的浪费。
具体地,ESB平台统计第一源分组标识的第一服务的负载。在负载大于或等于第一阈值的情况下,ESB平台提示为第一源分组标识的第一服务增加服务设备。在负载小于第一阈值的情况下,ESB平台提示为第一源分组标识的第一服务减少服务设备。
可以理解,在负载大于第一阈值的情况下,租户可能正在促销产生了大量的订单,租户使用第一服务的次数增加,可能需要增加服务设备。在负载小于第一阈值的情况下,租户的促销已经完成,订单的数量恢复正常,该租户的服务不再需要较多的服务设备。
其中,第一阈值的取值可以根据经验数据配置的,也可以为人工设置,本公开实施例对第一阈值的具体取值不作具体限定。
在本公开实施例中,ESB平台可以在显示界面中显示提示信息,提示增减服务设备。
示例性地,在租户进行促销的时候,ESB平台可以根据统计的租户使用的各个服务的负载情况,在第一服务的负载较大的情况下,ESB平台可以提示为该租户的第一服务增加机器等服务设备。
进一步,ESB平台还可以为一个租户统计该租户所使用的所有服务的负载情况,在该租户进行促销的情况下,可以快速的确定租户的哪些服务需要增加服务设备,可以为租户及时地提供服务,避免业务量快速增多导致服务设备不够引起租户的服务崩溃导致的损失。
示例性地,表3为租户使用的服务列表的示例性表格。ESB平台可以根据表3中统计的数据提示为该租户是否增加或减少服务设备。
表3
服务 分组 当前负载情况
出库 1 10
库存 1 8
入库 1 7
基于该方案,ESB平台可以根据负载情况,及时提示增减设备,具有集中化管理服务的能力,不再需要维护人员手动本地修改,从而为租户可以提供更及时的服务设备的增减。
需要说明的是,本公开实施例提供的微服务的调用方法,执行主体可以为微服务的调用装置,或者该微服务的调用装置中的用于执行微服务的调用的方法的控制模块。本公开实施例中以微服务的调用装置执行微服务的调用的方法为例,说明本公开实施例提供的微服务的调用的装置。
图7为本公开实施例提供的一种微服务的调用装置的结构示意图。该微服务的调用装置应用于ESB平台,该ESB平台中存储WMS SAAS平台中各个微服务间的调用关系。如图7中所示,微服务的调用装置700包括:接收模块701、查找模块702和调用模块703;接收模块701,用于接收第一服务的服务设备发送的第一服务的第一源分组标识;查找模块702,用于根据接收模块701接收的第一服务的第一源分组标识,查找第一调用关系;第一调用关系指示第一服务的第一源分组标识对应第二服务的第一目的分组标识;调用模块703,用于根据查找模块702查找到的第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组对应的第二服务。
可选地,微服务的调用装置还包括:注册模块;注册模块用于在接收模块接收第一服务的服务设备发送的第一服务的第一源分组标识之前,响应于注册请求,在ESB平台中注册第一服务的分组标识为第一源分组标识、第二服务的分组标识为第一目的分组标识、第一源分组标识对应的第一服务和第一目的分组标识对应的第二服务的调用关系我第一调用关系;其中,注册请求包括第一服务的分组标识和第二服务的分组标识。
可选地,微服务的调用装置还包括:变更模块;该变更模块,用于响应于变更请求,将第一调用关系更新为第二调用关系,该变更请求用于更新第一服务和第二服务的调用关系;其中,第一调用关系指示第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务,第二调用关系指示第一源分组标识对应的第一服务调用第二目的分组标识对应的第二服务。
可选地,微服务的调用装置还包括:统计模块和提示模块;统计模块,用于统计第一源分组标识的第一服务的负载;在负载大于或等于第一阈值的情况下,提示为第一源分组标识对应的第一服务增加服务设备。
可选地,提示模块,还用于在统计模块统计第一源分组标识的第一服务的负载之后,在负载小于第一阈值的情况下,提示为第一源分组标识对应的第一服务减少服务设备。
可选地,接收模块,还用于在接收第一服务的服务设备发送的第一服务的第一源分组标识之前,接收第一业务调用服务的业务信息,该业务信息包括第一业务对应的第三服务的第三源分组标识;查找模块,还用于根据接收模块接收的第三服务的第三源分组标识,查找第三调用关系;第三调用关系指示第三源分组标识对应的第三服务调用第三目的分组标识对应的第一服务;调用模块,还用于根据查找模块查找到的第三调用关系为第三源分组标识对应的第三服务调用第三目的分组标识对应的第一服务;其中,第三目的分组标识和第一源分组标识的分组标识相同。
可选地,业务信息还可以包括以下至少一项:服务的版本、附属信息。
本公开实施例提供的一种微服务的调用装置,由于ESB平台中可以存储WMS SAAS平台中各个微服务之间的调用关系,在微服务的调用装置接收到一个服务的服务设备发送的第一服务的第一源分组标识之后,微服务的调用装置可以先根据该第一服务的第一源分组标识查找对应的第一调用关系,该第一调用关系指示第一源分组标识对应第二服务的第一目的分组标识,然后,微服务的调用装置可以根据该第一调用关系,为第一源分组标识对应的第一服务调用第一目的分组标识对应的第二服务。由于各个微服务之间的调用关系集中存储在ESB平台中,一方面,微服务的调用装置可以从全局直观地管理各个服务之间的调用关系,可以为各个微服务快速调用其他微服务;另一方面各个微服务的服务设备中不再需要存储并管理该服务和其他服务间的调用关系,降低了大型的WMS SAAS平台中分散的调用关系的管理成本。
本公开实施例中的微服务的调用装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本公开实施例不作具体限定。
本公开实施例中的微服务的调用装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本公开实施例不作具体限定。
本公开实施例提供的微服务的调用装置能够实现图1至图6的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图8所示,本公开实施例还提供一种服务器800,包括处理器801,存储器802,存储在存储器802上并可在处理器801上运行的程序或指令,该程序或指令被处理器801执行时实现上述微服务的调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本公开实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图9为实现本公开实施例的一种服务器的硬件结构示意图。需要说明的是,图9示出的电子设备的服务器900仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,服务器900包括中央处理单元(central processing unit,CPU)901,其可以根据存储在只读存储器(read-only memory,ROM)902中的程序或者从存储部分908加载到随机访问存储器(random access memory,RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(input/output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystal display,LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如局域网(local areanetwork,LAN)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
本公开实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述微服务的调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的服务器中的CPU。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器、随机存取存储器、磁碟或者光盘等。
本公开实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述微服务的调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本公开实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本公开实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的方法。
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。

Claims (10)

1.一种微服务的调用方法,其特征在于,应用于企业服务总线ESB平台,所述ESB平台中存储仓库管理系统软件即服务WMS SAAS平台中各个微服务间的调用关系,所述方法包括:
接收第一服务的服务设备发送的所述第一服务的第一源分组标识;
根据所述第一源分组标识,查找第一调用关系;所述第一调用关系指示所述第一源分组标识对应第二服务的第一目的分组标识;
根据所述第一调用关系,为所述第一源分组标识对应的所述第一服务调用所述第一目的分组标识对应的所述第二服务。
2.根据权利要求1所述的方法,其特征在于,所述接收第一服务的服务设备发送的所述第一服务的第一源分组标识之前,所述方法还包括:
响应于注册请求,在所述ESB平台中注册所述第一服务的分组标识为所述第一源分组标识、所述第二服务的分组标识为所述第一目的分组标识、所述第一源分组标识对应的所述第一服务和所述第一目的分组标识对应的所述第二服务的调用关系为所述第一调用关系;
其中,所述注册请求包括所述第一服务的分组标识和所述第二服务的分组标识。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于变更请求,将所述第一调用关系更新为第二调用关系,所述变更请求用于更新所述第一服务和所述第二服务的调用关系;
其中,所述第一调用关系指示所述第一源分组标识对应的所述第一服务调用所述第一目的分组标识对应的所述第二服务,所述第二调用关系指示所述第一源分组标识对应的所述第一服务调用第二目的分组标识对应的所述第二服务。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
统计所述第一源分组标识的所述第一服务的负载;
在所述负载大于或等于第一阈值的情况下,提示为所述第一源分组标识对应的所述第一服务增加服务设备。
5.根据权利要求4所述的方法,其特征在于,所述统计所述第一源分组标识的所述第一服务的负载之后,所述方法还包括:
在所述负载小于第二阈值的情况下,提示为所述第一源分组标识的所述第一服务减少服务设备。
6.根据权利要求1所述的方法,其特征在于,所述接收第一服务的服务设备发送的所述第一服务的第一源分组标识之前,所述方法还包括:
接收第一业务调用服务的业务信息,所述业务信息包括所述第一业务对应的第三服务的第三源分组标识;
根据所述第三源分组标识,查找第三调用关系;所述第三调用关系指示所述第三源分组标识对应的第三服务调用第三目的分组标识对应的所述第一服务;
根据所述第三调用关系为所述第三源分组标识对应的第三服务调用所述第三目的分组标识对应的所述第一服务;
其中,所述第三目的分组标识和所述第一源分组标识的分组标识相同。
7.根据权利要求6所述的方法,其特征在于,所述业务信息还包括以下至少一项:服务的版本、附属信息。
8.一种微服务的调用装置,其特征在于,应用于企业服务总线ESB平台,所述ESB平台中存储仓库管理系统软件即服务WMS SAAS平台中各个微服务间的调用关系,所述微服务的调用装置包括:接收模块、查找模块和调用模块;
所述接收模块,用于接收第一服务的服务设备发送的所述第一服务的第一源分组标识;
所述查找模块,用于根据所述接收模块接收的所述第一源分组标识,查找第一调用关系,所述第一调用关系指示所述第一源分组标识对应的第二服务的第一目的分组标识;
所述调用模块,用于根据所述查找模块查找到的所述第一调用关系,为所述第一源分组标识对应的所述第一服务调用所述第一目的分组标识对应的所述第二服务。
9.一种服务器,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的微服务的调用方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的微服务的调用方法的步骤。
CN202110625531.XA 2021-06-04 2021-06-04 微服务的调用方法、装置及服务器 Active CN113364775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110625531.XA CN113364775B (zh) 2021-06-04 2021-06-04 微服务的调用方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110625531.XA CN113364775B (zh) 2021-06-04 2021-06-04 微服务的调用方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN113364775A true CN113364775A (zh) 2021-09-07
CN113364775B CN113364775B (zh) 2023-04-18

Family

ID=77532222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110625531.XA Active CN113364775B (zh) 2021-06-04 2021-06-04 微服务的调用方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN113364775B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180176078A1 (en) * 2016-12-21 2018-06-21 Joseph Nicholas Nigro Automated platform provisioning system
CN109472524A (zh) * 2017-09-08 2019-03-15 北京京东尚科信息技术有限公司 信息处理方法和装置
CN109902105A (zh) * 2019-02-28 2019-06-18 携程旅游网络技术(上海)有限公司 用于微服务架构的数据查询系统、方法、设备及存储介质
CN109995552A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 Vnf服务实例化方法及装置
CN110401696A (zh) * 2019-06-18 2019-11-01 华为技术有限公司 一种去中心化处理的方法、通信代理、主机以及存储介质
CN110427299A (zh) * 2019-07-19 2019-11-08 腾讯科技(深圳)有限公司 微服务系统应用的日志处理方法、相关设备及系统
CN112199276A (zh) * 2020-09-24 2021-01-08 建信金融科技有限责任公司 微服务架构的变更检测方法、装置、服务器及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180176078A1 (en) * 2016-12-21 2018-06-21 Joseph Nicholas Nigro Automated platform provisioning system
CN109472524A (zh) * 2017-09-08 2019-03-15 北京京东尚科信息技术有限公司 信息处理方法和装置
CN109995552A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 Vnf服务实例化方法及装置
CN109902105A (zh) * 2019-02-28 2019-06-18 携程旅游网络技术(上海)有限公司 用于微服务架构的数据查询系统、方法、设备及存储介质
CN110401696A (zh) * 2019-06-18 2019-11-01 华为技术有限公司 一种去中心化处理的方法、通信代理、主机以及存储介质
CN110427299A (zh) * 2019-07-19 2019-11-08 腾讯科技(深圳)有限公司 微服务系统应用的日志处理方法、相关设备及系统
CN112199276A (zh) * 2020-09-24 2021-01-08 建信金融科技有限责任公司 微服务架构的变更检测方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN113364775B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN110502546B (zh) 一种数据处理方法及装置
CN103186834A (zh) 业务流程配置方法和装置
US20130013549A1 (en) Hardware-assisted approach for local triangle counting in graphs
CN114189525B (zh) 服务请求方法、装置和电子设备
CN110737653B (zh) 一种基于微服务的一体化企业数据处理系统及方法
CN112732466A (zh) 一种服务调用方法、装置和系统
CN112148711A (zh) 一种批处理任务的处理方法和装置
EP3660665A1 (en) Business processing method, apparatus, device and system using the same, and readable storage medium of the same
CN112787999B (zh) 跨链调用方法、装置、系统与计算机可读存储介质
CN113656407B (zh) 一种数据拓扑生成方法、装置、电子设备及存储介质
CN107908442A (zh) 基于spring的资源加载方法、装置、终端设备及计算机可读存储介质
CN113268500A (zh) 业务处理方法、装置及电子设备
US11062224B2 (en) Prediction using fusion of heterogeneous unstructured data
CN112817562A (zh) 业务处理的方法和装置
CN108733536B (zh) 监控管理系统及方法
CN113342472A (zh) 微服务集群创建方法、装置、电子设备及可读存储介质
CN113364775B (zh) 微服务的调用方法、装置及服务器
CN110737425A (zh) 一种计费平台系统的应用程序的建立方法及装置
CN112926008A (zh) 生成表单页面的方法、装置、电子设备和存储介质
CN111061576B (zh) 一种实体对象的创建方法及系统
CN107729579A (zh) 数据库分离设计方法及装置
CN113468388B (zh) 控制方法、装置、服务器及存储介质
CN110956430A (zh) 一种部门推荐的方法和装置
CN112988131A (zh) 计算引擎任务执行方法、设备及可读存储介质
US20230246916A1 (en) Service map conversion with preserved historical information

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant