服务配置动态更新方法、系统、电子设备及可读存储介质技术方案

技术编号:29138239 阅读:21 留言:0更新日期:2021-07-02 22:35
本申请涉及一种服务配置动态更新方法、系统、电子设备及计算机可读存储介质,其中,该服务配置动态更新方法包括:服务注册步骤,用于将微服务的注册请求发送至调度中心并启动所述微服务;其中,所述注册请求至少包括配置信息及回调URL;配置订阅步骤,用于所述微服务订阅所述调度中心中对应的服务配置;配置变更通知步骤,用于所述调度中心监听所述服务配置,并当所述服务配置更新时,基于健康检查和/或配置订阅端口主动发送更新通知至所述微服务;配置更新步骤,用于所述微服务接收所述更新通知并进行配置更新。通过本申请,有效降低服务组件复杂度,增加服务健康检查的功能范围。

【技术实现步骤摘要】
服务配置动态更新方法、系统、电子设备及可读存储介质
本申请涉及计算机
,特别是涉及服务配置动态更新方法、系统、电子设备及计算机可读存储介质。
技术介绍
随着企业服务功能越来越丰富,使得服务变得越来越庞大,导致服务项目更新迭代变得越来越困难。近来伴着微服务的出现,越来越多企业开始将服务开始拆分,使得企业服务功能能够快速迭代。在微服务的背景下,也涌现出一批微服务相关的组件使得微服务越来越健壮,遗憾的是,微服务组件更多的是各司其职而不能与企业服务的实际需求完美结合,比如服务注册与发现组件和配置中心。微服务架构,为了保证所有服务可用,当服务发生问题时能及时摘除有问题的服务需要定期检测服务可用性,即健康检查。通常健康检查包括TCP与HTTP两种。即定时发送TCP或HTTP请求,根据响应来确定服务是否可用。其中,参考图1所示,现有的服务注册与发现组件用于服务启动、注册及健康检查,但现有的服务注册与发现组件仅用于记录服务状态及服务访问地址,未能存储服务配置,且服务注册与发现组件进行健康检查时只针对服务的状态进行检查,而无法对服务配置进行检查。另外,参考图2所示,现有的配置中心用于服务启动、订阅配置、当配置中心服务配置发生变化时通知到相应的服务并将最新的配置推送给服务,但配置中心缺少服务健康检查的功能。
技术实现思路
本申请实施例提供了一种服务配置动态更新方法、系统、电子设备及计算机可读存储介质,以基于服务健康检查,实现在监控服务健康状态的同时保证服务与调度中心配置一致,有效降低服务组件的复杂度并提高服务组件功能复杂度。第一方面,本申请实施例提供了一种服务配置动态更新方法,包括:服务注册步骤,用于将微服务的注册请求发送至调度中心并启动所述微服务;其中,所述注册请求至少包括配置信息及回调URL(统一资源定位系统,英文名称uniformresourcelocator,简称URL),所述回调URL用于所述调度中心进行健康检查,以监控服务的状态;配置订阅步骤,用于所述微服务订阅所述调度中心中对应的服务配置,其中,所述服务配置采用Key/Value键值对存储;配置变更通知步骤,用于所述调度中心监听所述服务配置,并当所述服务配置更新时基于健康检查和/或配置订阅端口主动发送更新通知至所述微服务;配置更新步骤,用于所述微服务接收所述更新通知并进行配置更新。基于上述步骤,本申请的服务配置动态更新方法的调度中心整合传统的服务注册发现组件和配置中心,实现降低服务组件复杂度;使调度中心在进行健康检查的同时实现配置的检查和配置变更的通知,丰富了健康检查的功能。在其中一些实施例中,所述配置变更通知步骤进一步包括:健康检查配置通知步骤,用于当所述微服务的服务配置更新时,所述调度中心进行健康检查时,将更新的配置参数和健康检查请求并发送至所述微服务。在其中一些实施例中,所述配置变更通知步骤进一步包括:订阅配置通知步骤,用于所述调度中心向订阅的所述微服务发送更新的配置参数,具体的,所述调度中心基于所述微服务的端口PORT发送所述更新的配置参数。在其中一些实施例中,所述配置信息采用JSON(英文名称avaScriptObjectNotation,简称JSON,是一种轻量级的数据交换格式)、XML(英文名称ExtensibleMarkupLanguage,简称XML,中文名称为可扩展标记语言)或YAML(英文名称YAMLAin'tMarkupLanguage,简称YAML,是一个可读性高,用来表达数据序列化的格式)数据存储格式;所述配置信息至少包括IP(InternetProtocol,网际互连协议)、端口PORT、数据库用户名及数据库密码。第二方面,本申请实施例提供了一种服务配置动态更新系统,包括:服务注册模块,用于将微服务的注册请求发送至调度中心并启动所述微服务;其中,所述注册请求至少包括配置信息及回调URL,所述回调URL用于所述调度中心进行健康检查监控服务的状态及通知服务的配置信息;配置订阅模块,用于所述微服务订阅所述调度中心中对应的服务配置,其中,所述服务配置采用Key/Value键值对存储;配置变更通知模块,用于所述调度中心监听所述服务配置,并当所述服务配置更新时基于健康检查和/或配置订阅端口主动发送更新通知至所述微服务;配置更新模块,用于所述微服务接收所述更新通知并进行配置更新。基于上述模块,本申请的服务配置动态更新系统整合传统的服务注册发现组件和配置中心,实现降低服务组件复杂度;使调度中心在进行健康检查的同时实现配置的检查和配置变更的通知,丰富了健康检查的功能。在其中一些实施例中,所述配置变更通知模块进一步包括:健康检查配置通知模块,用于当所述微服务的服务配置更新时,所述调度中心进行健康检查时,将更新的配置参数和健康检查请求并发送至所述微服务。在其中一些实施例中,所述配置变更通知模块进一步包括:订阅配置通知模块,用于所述调度中心向订阅的所述微服务发送更新的配置参数,具体的,所述调度中心基于所述微服务的端口PORT发送所述更新的配置参数。在其中一些实施例中,所述配置信息采用JSON、XML或YAML数据存储格式;所述配置信息至少包括IP、端口PORT、数据库用户名及数据库密码。第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的服务配置动态更新方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的服务配置动态更新方法。相比于相关技术,本申请实施例提供的服务配置动态更新方法、系统、电子设备及计算机可读存储介质,通过整合传统的服务注册发现组件和配置中心,所述调度中心既能实现服务注册发现组件的功能,又能实现配置中心的功能,降低服务组件的复杂度;调度中心可在进行健康检查的同时实现配置的检查和配置变更的通知,丰富了健康检查的功能,在不增加新组建的情况下丰富本申请实施例的功能。本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据相关技术的服务注册与发现组件的原理图;图2是根据相关技术的配置中心的原理图;图3是根据本申请实施例的服务配置动态更新方法的流程图;图4是根据本申请另一实施例的服务配置动态更新方法的流程图;图5是根据本申请实施例的服务配置动态更新系统的结构框图;图6是根据本申请优选实施例的服务配置动态更新方法的工作原理图;图7是根据本申请优选实施例的调度中心的客户端界本文档来自技高网...

【技术保护点】
1.一种服务配置动态更新方法,其特征在于,包括:/n服务注册步骤,用于将微服务的注册请求发送至调度中心并启动所述微服务;其中,所述注册请求至少包括配置信息及回调URL;/n配置订阅步骤,用于所述微服务订阅所述调度中心中对应的服务配置;/n配置变更通知步骤,用于所述调度中心监听所述服务配置,并当所述服务配置更新时,基于健康检查和/或配置订阅端口主动发送更新通知至所述微服务;/n配置更新步骤,用于所述微服务接收所述更新通知并进行配置更新。/n

【技术特征摘要】
1.一种服务配置动态更新方法,其特征在于,包括:
服务注册步骤,用于将微服务的注册请求发送至调度中心并启动所述微服务;其中,所述注册请求至少包括配置信息及回调URL;
配置订阅步骤,用于所述微服务订阅所述调度中心中对应的服务配置;
配置变更通知步骤,用于所述调度中心监听所述服务配置,并当所述服务配置更新时,基于健康检查和/或配置订阅端口主动发送更新通知至所述微服务;
配置更新步骤,用于所述微服务接收所述更新通知并进行配置更新。


2.根据权利要求1所述的服务配置动态更新方法,其特征在于,所述配置变更通知步骤进一步包括:
健康检查配置通知步骤,用于当所述微服务的服务配置更新时,所述调度中心进行健康检查时,将更新的配置参数和健康检查请求并发送至所述微服务。


3.根据权利要求1所述的服务配置动态更新方法,其特征在于,所述配置变更通知步骤进一步包括:
订阅配置通知步骤,用于所述调度中心向订阅的所述微服务发送更新的配置参数。


4.根据权利要求1至3中任一项所述的服务配置动态更新方法,其特征在于,所述配置信息采用JSON、XML或YAML数据存储格式;所述配置信息至少包括IP、端口PORT、数据库用户名及数据库密码。


5.一种服务配置动态更新系统,其特征在于,包括:
服务注册模块,用于将微服务的注册请求发送至调度中心并启动所述微服务;其中,所述注册请求至少包括配置信息及回调URL;

【专利技术属性】
技术研发人员:王少鹏
申请(专利权)人:恩亿科北京数据科技有限公司
类型:发明
国别省市:北京;11

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

1