一种API网关服务更新的方法及装置制造方法及图纸

技术编号:22649251 阅读:29 留言:0更新日期:2019-11-26 17:56
本发明专利技术公开了一种API网关服务更新的方法及装置,适用于通过分布式远程调用框架实现的API网关,其中,方法包括:API网关应用获取本地配置信息,并从动态配置服务器获取动态配置信息,比较本地配置信息和动态配置信息,若确定出新增服务的第一标识,则根据第一标识从订阅服务器订阅该新增服务,且在API网关应用的应用容器中实例化该新增服务,根据动态配置信息更新本地配置信息。本技术方案用以在不重启API网关应用的前提下,实现API网关服务的动态更新。

A method and device of API gateway service update

The invention discloses a method and device for updating API gateway service, which is applicable to the API gateway realized by the distributed remote call framework. The method includes: API gateway application obtains local configuration information, obtains dynamic configuration information from the dynamic configuration server, compares the local configuration information and dynamic configuration information. If the first identification of the new service is determined, then according to the The first ID subscribes the new service from the subscriber, instantiates the new service in the application container of the API gateway application, and updates the local configuration information according to the dynamic configuration information. This technical scheme is used to realize the dynamic update of API gateway service without restarting the application of API gateway.

【技术实现步骤摘要】
一种API网关服务更新的方法及装置
本专利技术实施例涉及软件开发
,尤其涉及一种API网关服务更新的方法及装置。
技术介绍
在进行开放平台API(ApplicationProgrammingInterface,应用程序编程接口)网关应用开发过程中,当新上架某个API服务或者下架当前已有的API服务时,需要对API网关应用进行更新,即更新API网关应用程序中的XML(ExtensibleMarkupLanguage,可扩展标记语言)格式静态配置文件,并将更新后的XML格式静态配置文件替换原有文件且重启API网关应用程序。API网关应用作为承载众多HTTP(HyperTextTransferProtocol,超文本传输协议)服务的入口,本身要求具备高可用性,但现有的更新方式中,每次新增、下架某个API服务就需要重启应用程序,应用程序重启过程中,服务调用方无法正常通过API网关应用程序远程调用服务,影响了服务调用方的正常需求。
技术实现思路
本专利技术实施例提供一种API网关服务更新的方法及装置,用以在不重启API网关应用的前提下,实现API网关服务的动态更新。本专利技术实施例提供的一种API网关服务更新的方法,适用于通过分布式远程调用框架实现的API网关,所述方法包括:API网关应用获取本地配置信息;所述本地配置信息是所述API网关应用根据从订阅服务器所订阅服务的标识确定的;所述API网关应用从动态配置服务器获取动态配置信息;所述动态配置信息是所述动态配置服务器根据动态配置指令进行更新后生成的;所述动态配置指令用于变更从所述订阅服务器订阅的服务;所述API网关应用比较所述本地配置信息和所述动态配置信息,若确定出新增服务的第一标识,则根据所述第一标识从所述订阅服务器订阅所述新增服务,且在所述API网关应用的应用容器中实例化所述新增服务;所述API网关应用根据所述动态配置信息更新所述本地配置信息。上述技术方案中,API网关获取本地配置信息和动态配置信息,对本地配置信息和动态配置信息进行比较,若确定出当前有新增服务,则自动从订阅服务器中订阅该新增服务以及在应用容器中实例化该新增服务,还会自动根据该动态配置信息更新本地配置信息。无需人工将更新后的静态配置信息替换原有的静态配置信息,且无需重启API网关应用,实现API网关应用的热更新,可以使得API网关应用一直处于开启状态,满足服务调用方的调用需求。提升API网关应用的服务配置的灵活性,以及实现API网关的高可用性,减小了API网关在重启过程短时服务调用失败的可能性。可选的,所述API网关应用获取本地配置信息之前,还包括:所述API网关应用获取静态配置信息;所述静态配置信息包括全局配置信息及提供服务的标识;所述API网关应用根据所述全局配置信息对所述分布式远程调用框架进行全局配置;所述API网关应用根据所述提供服务的标识,从所述订阅服务器订阅所述提供服务,且在所述API网关应用的应用容器中实例化所述提供服务;所述API网关应用根据所述提供服务的标识确定所述本地配置信息。上述技术方案中,API网关在初次启动时,由于API网关的本地配置信息为空,则API网关对所有的静态配置信息进行加载和配置,将服务实例化到应用容器中,以及向订阅服务器订阅服务。可选的,所述API网关应用根据所述动态配置信息更新所述本地配置信息之后,包括:所述API网关应用接收服务调用方的服务请求,所述服务请求中包括待调用服务的标识;所述API网关应用根据所述待调用服务的标识,从所述本地配置信息中确定出用于提供所述待调用服务的服务提供方的地址;所述API网关应用根据所述服务提供方的地址和在所述API网关应用的应用容器中实例化后的待调用服务,从所述服务提供方中调用所述待调用服务并返回服务响应至所述服务调用方。可选的,还包括;所述API网关应用比较所述本地配置信息和所述动态配置信息,若确定出删除服务的第二标识,则将所述第二标识记录在已删除标识信息中;所述API网关应用根据所述待调用服务的标识,从所述本地配置信息中确定出用于提供所述待调用服务的服务提供方的地址之前,还包括:所述API网关应用根据所述待调用服务的标识,确定所述已删除标识信息中不存在所述待调用服务的标识。上述技术方案中,通过设置已删除标识信息,在确定出动态配置信息中删除了某个API服务的服务标识时,可以将该API服务的服务标识加入至已删除标识信息中,从而实现对API服务的下架。相应的,本专利技术实施例还提供了一种API网关服务更新的装置,适用于通过分布式远程调用框架实现的API网关,所述装置包括:获取单元和处理单元;所述获取单元,用于获取本地配置信息;所述本地配置信息是API网关应用根据从订阅服务器所订阅服务的标识确定的;所述获取单元,还用于从动态配置服务器获取动态配置信息;所述动态配置信息是所述动态配置服务器根据动态配置指令进行更新后生成的;所述动态配置指令用于变更从所述订阅服务器订阅的服务;所述处理单元,用于比较所述本地配置信息和所述动态配置信息,若确定出新增服务的第一标识,则根据所述第一标识从所述订阅服务器订阅所述新增服务,且在所述API网关应用的应用容器中实例化所述新增服务;并根据所述动态配置信息更新所述本地配置信息。可选的,所述处理单元还用于:在控制所述获取单元获取本地配置信息之前,控制所述获取单元获取静态配置信息;所述静态配置信息包括全局配置信息及提供服务的标识;根据所述全局配置信息对所述分布式远程调用框架进行全局配置;根据所述提供服务的标识,从所述订阅服务器订阅所述提供服务,且在所述API网关应用的应用容器中实例化所述提供服务;根据所述提供服务的标识确定所述本地配置信息。可选的,所述处理单元还用于:在根据所述动态配置信息更新所述本地配置信息之后,接收服务调用方的服务请求,所述服务请求中包括待调用服务的标识;根据所述待调用服务的标识,从所述本地配置信息中确定出用于提供所述待调用服务的服务提供方的地址;根据所述服务提供方的地址和在所述API网关应用的应用容器中实例化后的待调用服务,从所述服务提供方中调用所述待调用服务并返回服务响应至所述服务调用方。可选的,所述处理单元还用于:比较所述本地配置信息和所述动态配置信息,若确定出删除服务的第二标识,则将所述第二标识记录在已删除标识信息中;所述处理单元还用于:在根据所述待调用服务的标识,从所述本地配置信息中确定出用于提供所述待调用服务的服务提供方的地址之前,根据所述待调用服务的标识,确定所述已删除标识信息中不存在所述待调用服务的标识。相应的,本专利技术实施例还提供了一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述API网关服务更新的方法。...

【技术保护点】
1.一种应用程序编程接口API网关服务更新方法,其特征在于,适用于通过分布式远程调用框架实现的API网关,所述方法包括:/nAPI网关应用获取本地配置信息;所述本地配置信息是所述API网关应用根据从订阅服务器所订阅服务的标识确定的;/n所述API网关应用从动态配置服务器获取动态配置信息;所述动态配置信息是所述动态配置服务器根据动态配置指令进行更新后生成的;所述动态配置指令用于变更从所述订阅服务器订阅的服务;/n所述API网关应用比较所述本地配置信息和所述动态配置信息,若确定出新增服务的第一标识,则根据所述第一标识从所述订阅服务器订阅所述新增服务,且在所述API网关应用的应用容器中实例化所述新增服务;/n所述API网关应用根据所述动态配置信息更新所述本地配置信息。/n

【技术特征摘要】
1.一种应用程序编程接口API网关服务更新方法,其特征在于,适用于通过分布式远程调用框架实现的API网关,所述方法包括:
API网关应用获取本地配置信息;所述本地配置信息是所述API网关应用根据从订阅服务器所订阅服务的标识确定的;
所述API网关应用从动态配置服务器获取动态配置信息;所述动态配置信息是所述动态配置服务器根据动态配置指令进行更新后生成的;所述动态配置指令用于变更从所述订阅服务器订阅的服务;
所述API网关应用比较所述本地配置信息和所述动态配置信息,若确定出新增服务的第一标识,则根据所述第一标识从所述订阅服务器订阅所述新增服务,且在所述API网关应用的应用容器中实例化所述新增服务;
所述API网关应用根据所述动态配置信息更新所述本地配置信息。


2.如权利要求1所述的方法,其特征在于,所述API网关应用获取本地配置信息之前,还包括:
所述API网关应用获取静态配置信息;所述静态配置信息包括全局配置信息及提供服务的标识;
所述API网关应用根据所述全局配置信息对所述分布式远程调用框架进行全局配置;
所述API网关应用根据所述提供服务的标识,从所述订阅服务器订阅所述提供服务,且在所述API网关应用的应用容器中实例化所述提供服务;
所述API网关应用根据所述提供服务的标识确定所述本地配置信息。


3.如权利要求1所述的方法,其特征在于,所述API网关应用根据所述动态配置信息更新所述本地配置信息之后,包括:
所述API网关应用接收服务调用方的服务请求,所述服务请求中包括待调用服务的标识;
所述API网关应用根据所述待调用服务的标识,从所述本地配置信息中确定出用于提供所述待调用服务的服务提供方的地址;
所述API网关应用根据所述服务提供方的地址和在所述API网关应用的应用容器中实例化后的待调用服务,从所述服务提供方中调用所述待调用服务并返回服务响应至所述服务调用方。


4.如权利要求3所述的方法,其特征在于,还包括;
所述API网关应用比较所述本地配置信息和所述动态配置信息,若确定出删除服务的第二标识,则将所述第二标识记录在已删除标识信息中;
所述API网关应用根据所述待调用服务的标识,从所述本地配置信息中确定出用于提供所述待调用服务的服务提供方的地址之前,还包括:
所述API网关应用根据所述待调用服务的标识,确定所述已删除标识信息中不存在所述待调用服务的标识。


5.一种API网关服务更新的装置,其特征在于,适用于通过分布式远程调用框架实现的API网关,所述装置包括...

【专利技术属性】
技术研发人员:张昊赵希陈煜周继恩尹祥龙宋鑫晶
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海;31

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

1