掌桥专利:专业的专利平台
掌桥专利
首页

一种基于容器云自动注入微服务配置的方法和系统

文献发布时间:2024-04-18 19:53:33


一种基于容器云自动注入微服务配置的方法和系统

技术领域

本发明涉及微服务配置技术领域,尤其涉及一种基于容器云自动注入微服务配置的方法和系统。

背景技术

微服务平台可以提供便捷的服务管理和限流降级等功能,使得业务服务更专注于自身业务代码的开发,在开发过程中,只需要配置好相关的服务地址,就可以纳入管理。

在实际应用中,服务容器化后,上云部署,也同样执行对应的策略,这部分基础环境大部分是被写入代码中,如果下次环境变化后,开发者需要重新打包部署发布。在这种情况下,开发者需要去关心部署的目标环境的配置信息,对开发者增加了设计难度,偏离了最初只想关心核心业务代码的方向。而且环境配置相关信息复杂之后,相关人员需要进行反复重新打包部署发布,发布完后进行必要的测试,某些配置信息未修改或修改错误,也会造成服务产生不必要的生产损失,这些都徒增了开发者的比对工作量而且可能产生人为的误差。

由于大多数用户的微服务容器云平台的配置都是绑定于业务的代码中,造成了服务器集群的极度不安全,同时随着微服务容器云集群环境的日渐复杂,导致在业务量大的场景中,难以在快速地将相应的微服务打包镜像化部署并保证配置的正确性和操作的安全性。尤其是随着容器的增多,管理服务器上容器微服务配置的问题日益突出,传统配置微服务的办法越来越力不从心。

因此,如何提供一种更加高效、精确和安全的注入微服务配置的方法,成为亟待解决的技术问题。

发明内容

有鉴于此,为了克服现有技术的不足,本发明旨在提供一种基于容器云自动注入微服务配置的方法和系统。

根据本发明的第一方面,提供一种基于容器云自动注入微服务配置的方法,包括:

通过环境配置管理服务模块获取微服务的相关环境配置;

通过环境配置代理服务模块感知用户部署应用的动作,将相关的环境配置自动注入到用户部署的应用的启动脚本中;

通过环境配置代理服务模块根据环境配置管理服务模块中环境配置的变化,更新环境配置代理服务模块中的环境配置。

优选地,本发明基于容器云自动注入微服务配置的方法中,通过环境配置管理服务模块获取微服务的相关环境配置,包括:在创建环境配置管理服务模块时,生成一个文件服务,所述文件服务用于自动收集相关的环境信息并根据收集的环境信息生成相应的环境配置文件。

优选地,本发明基于容器云自动注入微服务配置的方法中,通过环境配置管理服务模块获取微服务的相关环境配置,还包括:当环境信息发生变化时,通过环境配置管理服务模块更新环境配置文件。

优选地,本发明基于容器云自动注入微服务配置的方法中,通过环境配置代理服务模块感知用户部署应用的动作,将相关的环境配置自动注入到用户部署的应用的启动脚本中,包括:通过环境配置代理服务模块感知用户部署应用的动作,当环境配置代理服务模块感知到用户部署应用的动作时,从环境配置管理服务模块拉取与用户部署的应用对应的环境配置,将拉取的环境配置自动注入到用户部署的应用的启动脚本中。

优选地,本发明基于容器云自动注入微服务配置的方法中,通过环境配置代理服务模块根据环境配置管理服务模块中环境配置的变化,更新环境配置代理服务模块中的环境配置,包括:通过环境配置代理服务模块感知环境配置管理服务模块中环境配置的变化,当环境配置发生变化时,更新环境配置代理服务模块中的环境配置。

优选地,本发明基于容器云自动注入微服务配置的方法中,当环境配置发生变化时,更新环境配置代理服务模块中的环境配置,包括:当环境配置发生变化时,将环境配置发生变化的消息告知用户,由用户决定是否加载新的环境配置。

根据本发明的第二方面,提供一种基于容器云自动注入微服务配置的系统,该系统包括微服务配置服务端,该微服务配置服务端用于通过环境配置管理服务模块获取微服务的相关环境配置;通过环境配置代理服务模块感知用户部署应用的动作,将相关的环境配置自动注入到用户部署的应用的启动脚本中;通过环境配置代理服务模块根据环境配置管理服务模块中环境配置的变化,更新环境配置代理服务模块中的环境配置。

优选地,本发明基于容器云自动注入微服务配置的系统中,微服务配置服务端,包括:

环境配置代理服务模块,用于感知用户部署应用的动作,将相关的环境配置自动注入到用户部署的应用的启动脚本中,根据环境配置管理服务模块中环境配置的变化,更新环境配置代理服务模块中的环境配置;

环境配置管理服务模块,用于获取微服务的相关环境配置。

优选地,本发明基于容器云自动注入微服务配置的系统中,微服务配置服务端中的环境配置代理服务模块,具体用于感知用户部署应用的动作,当感知到用户部署应用的动作时,从环境配置管理服务模块拉取与用户部署的应用对应的环境配置,将拉取的环境配置自动注入到用户部署的应用的启动脚本中;感知环境配置管理服务模块中环境配置的变化,当环境配置发生变化时,更新环境配置代理服务模块中的环境配置。

优选地,本发明基于容器云自动注入微服务配置的系统中,微服务配置服务端中的环境配置管理服务模块,具体用于自动收集相关的环境信息并根据收集的环境信息生成相应的环境配置文件;当环境信息发生变化时,更新环境配置文件。

根据本发明的第三方面,提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面所述的方法。

本发明基于容器云自动注入微服务配置的方法和系统,具有以下有益技术效果:通过增加环境配置代理服务模块和环境配置管理服务模块,实现了研发人员可以安全而快速地完成容器云环境下微服务配置的自动注入的目的;通过自动化注入相关配置,自动化重新生成微服务的启动命令,避免了重新打包部署所带来的重复性测试比对难题以及与之带来的操作失误的可能性;本发明的方法和系统,简单易用,安全快捷易于管理,并且部署方便,适用于匹配容器云集群的各类微服务业务的自动化注入配置的需求。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为一种适用于本发明实施例的基于容器云自动注入微服务配置的方法的系统的示意图;

图2为根据本发明实施例基于容器云自动注入微服务配置的系统中的微服务配置服务端的一种架构示例图;

图3为根据本发明实施例的一种基于容器云自动注入微服务配置的方法的步骤流程图;

图4为根据本发明实施例基于容器云自动注入微服务配置的方法的执行示例图;

图5为本发明提供的设备的结构示意图。

具体实施方式

下面结合附图对本发明实施例进行详细描述。

需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。

图1示出了一种适用于本发明实施例的基于容器云自动注入微服务配置的方法的示例性系统。如图1所示,该系统可以包括微服务配置服务端101、通信网络102和/或一个或多个微服务配置客户端103,图1中示例为多个微服务配置客户端103。

微服务配置服务端101可以时用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的服务器。在一些实施例中,微服务配置服务端101可以执行适当的功能。例如,在一些实施例中,微服务配置服务端101可以用于基于容器云自动注入微服务配置。作为可选的示例,在一些实施例中,微服务配置服务端101可以被用于通过环境配置管理服务模块获取微服务的相关环境配置;通过环境配置代理服务模块感知用户部署应用的动作,将相关的环境配置自动注入到用户部署的应用的启动脚本中;通过环境配置代理服务模块根据环境配置管理服务模块中环境配置的变化,更新环境配置代理服务模块中的环境配置。

作为另一示例,在一些实施例中,微服务配置服务端101可以根据微服务配置客户端103的请求,将基于容器云自动注入微服务配置的方法发送到微服务配置客户端103供用户使用。

图2为本发明实施例中微服务配置服务端的一种架构示例图,如图2所示,本发明实施例中的微服务配置服务端包括:

环境配置代理服务模块,用于感知用户部署应用的动作,将相关的环境配置自动注入到用户部署的应用的启动脚本中,根据环境配置管理服务模块中环境配置的变化,更新环境配置代理服务模块中的环境配置。作为可选的示例,本实施例中的环境配置代理服务模块具体用于感知用户部署应用的动作,当感知到用户部署应用的动作时,从环境配置管理服务模块拉取与用户部署的应用对应的环境配置,将拉取的环境配置自动注入到用户部署的应用的启动脚本中;感知环境配置管理服务模块中环境配置的变化,当环境配置发生变化时,更新环境配置代理服务模块中的环境配置。

环境配置管理服务模块,用于获取微服务的相关环境配置。作为可选的示例,本实施例中的环境配置管理服务模块具体用于自动收集相关的环境信息并根据收集的环境信息生成相应的环境配置文件;当环境信息发生变化时,更新环境配置文件。

作为可选的示例,在一些实施例中,微服务配置客户端103用于提供可视化配置界面,该可视化配置界面用于接收用户基于容器云自动注入微服务配置的选择输入操作,以及,用于响应于选择输入操作,从微服务配置服务端101获取与选择输入操作所选择的选项所对应的配置界面并展示配置界面,配置界面中至少展示有基于容器云自动注入微服务配置的信息以及针对基于容器云自动注入微服务配置的信息的操作选项。

在一些实施例中,通信网络102可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络102能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字订户线路(DSL)网络、帧中继网络、异步转移模式(ATM)网络、虚拟专用网(VPN)和/或任何其它合适的通信网络。微服务配置客户端103能够通过一个或多个通信链路(例如,通信链路104)连接到通信网络102,该通信网络102能够经由一个或多个通信链路(例如,通信链路105)被链接到微服务配置服务端101。通信链路可以是适合于在微服务配置客户端103和微服务配置服务端101之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。

微服务配置客户端103可以包括通过适当形式呈现与基于容器云自动注入微服务配置相关的界面,以供用户使用和操作的任何一个或多个客户端。在一些实施例中,微服务配置客户端103可以包括任何合适类型的设备。例如,在一些实施例中,微服务配置客户端103可以包括移动设备、平板计算机、膝上型计算机、台式计算机和/或任何其他合适类型的客户端设备。

尽管将微服务配置服务端101图示为一个设备,但是在一些实施例中,可以使用任何适当数量的设备来执行由微服务配置服务端101执行的功能。例如,在一些实施例中,可以使用多个设备来实现由微服务配置服务端101执行的功能。或者,可使用云服务实现微服务配置服务端101的功能。

基于上述系统,本申请实施例提供了一种基于容器云自动注入微服务配置的方法,以下通过以下实施例进行说明。

参照图3,示出了根据本发明实施例的一种基于容器云自动注入微服务配置的方法的步骤流程图。

本实施例基于容器云自动注入微服务配置的方法可在微服务配置服务端执行,该基于容器云自动注入微服务配置的方法,包括以下步骤:

步骤S201:通过环境配置管理服务模块获取微服务的相关环境配置。

作为可选的示例,本实施例方法在创建环境配置管理服务模块时,生成一个文件服务,所述文件服务用于自动收集相关的环境信息并根据收集的环境信息生成相应的环境配置文件。需要注意的是,当环境信息发生变化时,本实施例方法通过环境配置管理服务模块更新环境配置文件。

步骤S202:通过环境配置代理服务模块感知用户部署应用的动作,将相关的环境配置自动注入到用户部署的应用的启动脚本中。

作为可选的示例,本实施例方法通过环境配置代理服务模块感知用户部署应用的动作,当环境配置代理服务模块感知到用户部署应用的动作时,从环境配置管理服务模块拉取与用户部署的应用对应的环境配置,将拉取的环境配置自动注入到用户部署的应用的启动脚本中。

步骤S203:通过环境配置代理服务模块根据环境配置管理服务模块中环境配置的变化,更新环境配置代理服务模块中的环境配置。

作为可选的示例,本实施例方法通过环境配置代理服务模块感知环境配置管理服务模块中环境配置的变化,当环境配置发生变化时,更新环境配置代理服务模块中的环境配置。

举例来说,本实施例方法中更新环境配置代理服务模块中环境配置的方式包括自动和手动。举例来说,当选择手动方式更新环境配置代理服务模块中环境配置时,若环境配置发生变化,将环境配置发生变化的消息告知用户,由用户决定是否加载新的环境配置;当选择自动方式更新环境配置代理服务模块中环境配置时,若环境配置发生变化,直接采用环境配置代理服务模块更新相应的环境配置。

图4为根据本发明实施例基于容器云自动注入微服务配置的方法的执行示例图,如图4所示,本实施例方法通过在开发者的微服务容器中增加一个启动前置项,通过这个启动前置项自动的拉取集群中微服务环境的配置信息,并注入到开发者应用的启动命令中。将开发者的微服务里的相关配置信息通过环境配置代理服务模块自动注入到启动脚本命令中,并在实际启动过程中生效;而系统内微服务相关配置则通过环境配置管理服务模块自动化地获取和更新,应用Pod中的环境配置代理服务模块与环境配置管理服务模块中的相关配置保持同步;环境配置代理服务模块自动感应环境配置管理服务模块中的环境配置的变化,当环境配置变化后,通知用户是否进行应用微服务配置的更新,由用户决定是否自动加载新的配置或者配置系统自动化感应配置变化并更新。环境配置管理服务模块在系统集群创建后,自动生成的一个文件服务,它会自动化的收集相关环境的信息,并生成相应的环境配置文件。用户在部署应用后,环境配置代理服务模块会感知到这个动作,并且从环境配置管理服务模块拉取该应用的环境配置,并自动注入到用户应用的启动脚本中,实现了脚本启动过程中,环境配置的自动拉取全过程。

本发明基于容器云自动注入微服务配置的方法和系统,具有以下有益技术效果:通过增加环境配置代理服务模块和环境配置管理服务模块,实现了研发人员可以安全而快速地完成容器云环境下微服务配置的自动注入的目的;通过自动化注入相关配置,自动化重新生成微服务的启动命令,避免了重新打包部署所带来的重复性测试比对难题以及与之带来的操作失误的可能性;本发明的方法和系统,简单易用,安全快捷易于管理,并且部署方便,适用于匹配容器云集群的各类微服务业务的自动化注入配置的需求。

如图5所示,本发明还提供了一种设备,包括处理器310、通信接口320、用于存储处理器可执行计算机程序的存储器330及通信总线340。其中,处理器310、通信接口320及存储器330通过通信总线340完成相互间的通信。处理器310通过运行可执行计算机程序以实现上述的基于容器云自动注入微服务配置的方法。

其中,存储器330中的计算机程序可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以基于实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 用于半导体镀膜喷淋头平面性便携精微位置调节器
  • 半导体镀膜喷淋头平面性调节器
技术分类

06120116339069