CN117251173B - 微服务项目的配置方法、微服务项目的配置装置及介质 - Google Patents
微服务项目的配置方法、微服务项目的配置装置及介质 Download PDFInfo
- Publication number
- CN117251173B CN117251173B CN202311519904.0A CN202311519904A CN117251173B CN 117251173 B CN117251173 B CN 117251173B CN 202311519904 A CN202311519904 A CN 202311519904A CN 117251173 B CN117251173 B CN 117251173B
- Authority
- CN
- China
- Prior art keywords
- configuration
- micro
- service
- deployment package
- key
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 230000010354 integration Effects 0.000 claims abstract description 23
- 230000001419 dependent effect Effects 0.000 claims description 52
- 238000012986 modification Methods 0.000 abstract description 10
- 230000004048 modification Effects 0.000 abstract description 10
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了微服务项目的配置方法,微服务项目的配置装置及介质,其中,所述方法包括以下步骤:获取微服务持续集成阶段生成的部署包;根据所述部署包中的配置键加载对应配置值,并在基于所述配置键和所述配置值生成配置键值对后,将所述键值对放入合并映射对象;在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心。本发明通过将微服务的正确配置内容放进部署包中,并当微服务启动时,将存储有相应配置键的映射对象发布到配置中心,以便配置中心基于映射对象进行配置修改,提高微服务发布效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及微服务项目的配置方法、微服务项目的配置装置及介质。
背景技术
在微服务技术架构下,通常会引入配置中心来统一管理微服务配置,配置中心的配置项会进行持久化配置,以保障配置的可靠性和持久性。
在微服务发布时,需要在配置中心同步修改相应的配置信息。随着微服务的功能迭代和代码演进,在微服务发布时,与微服务相关的配置内容也会相应调整。然而,由于微服务的发布内容经常发生变更,配置中心对应的配置项也需要频繁更新。在规模较大的微服务架构中,当涉及的微服务数量较多时,会增加的开发人员的额外工作量,导致微服务发布效率低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种微服务项目的配置方法、微服务项目的配置装置及介质,解决现有技术中微服务发布效率低的问题。
为实现上述目的,本发明提供一种微服务项目的配置方法,所述方法包括以下步骤:
获取微服务持续集成阶段生成的部署包;
根据所述部署包中的配置键加载对应配置值,并在基于所述配置键和所述配置值生成配置键值对后,将所述键值对放入合并映射对象;
在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心。
可选地,所述根据所述部署包中的配置键加载对应配置值,并在基于所述配置键和所述配置值生成配置键值对后,将所述键值对放入合并映射对象的步骤包括:
获取所述配置键的前缀标识信息和/或后缀标识信息;
在所述前缀标识信息和/或所述后缀标识信息为空时,获取所述部署包中存储的预设配置值,并基于所述预设配置值和所述配置键生成所述键值对;
将所述键值对放入所述合并映射对象。
可选地,所述获取所述配置键的前缀标识信息和/或后缀标识信息的步骤之后,还包括:
在所述前缀标识信息和/或所述后缀标识信息不为空时,确定所述前缀标识信息和/或所述后缀标识信息在所述配置中心对应的目标配置值;
基于所述配置键及所述目标配置值生成所述键值对,并将所述键值对放入所述合并映射对象。
可选地,所述获取微服务持续集成阶段生成的部署包的步骤之前,还包括:
确定所述微服务的依赖配置项,并将所述依赖配置项存入配置文件的目录中,其中,所述依赖配置项包括依赖配置键和预设配置值;
在所述微服务处于持续集成阶段时,将所述配置文件以及所述配置文件的目录,添加到所述微服务持续集成阶段生成的所述部署包中。
可选地,所述确定所述微服务的依赖配置项,并将所述依赖配置项存入配置文件的目录中的步骤之后,还包括:
在所述依赖配置键对应的依赖配置值的发布地址,为轻量级目录访问协议服务器地址时,基于所述轻量级目录访问协议服务器的地址信息,为所述依赖配置键添加所述地址信息对应的前缀标识和/或后缀标识。
可选地,在K8S环境下,所述确定所述微服务的依赖配置项,并将所述依赖配置项存入配置文件的目录中的步骤包括:
确定所述微服务的所述依赖配置项在所述K8S环境的中间件访问地址,其中,所述中间件访问地址包括域名信息以及端口信息;
将所述域名信息以及所述端口信息作为其中一个所述依赖配置项,并将所述依赖配置项存入所述配置文件的目录中。
可选地,所述在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心的步骤包括:
在所述部署包中所有的所述配置键均生成对应的键值对后,生成发布所述微服务所需的目标配置内容;
发布所述部署包中对应的所述微服务,并将所述映射对象发布到所述配置中心。
可选地,所述在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心的步骤之后,还包括:
基于所述合并映射对象的全量配置信息,更新所述配置中心与所述全量配置信息对应的内容。
此外,为实现上述目的,本发明还提供一种微服务项目的配置装置,所述微服务项目的配置装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务项目的配置程序,所述微服务项目的配置程序被所述处理器执行时实现如上所述的微服务项目的配置方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务项目的配置程序,所述微服务项目的配置程序被处理器执行时实现如上所述的微服务项目的配置方法的步骤。
本发明实施例提供了微服务项目的配置方法、微服务项目的配置装置及介质,先获取微服务持续集成阶段生成的部署包;根据所述部署包中的配置键加载对应配置值,并在基于所述配置键和所述配置值生成配置键值对后,将所述键值对放入合并映射对象;在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心。可以看出,为微服务持续集成阶段生成的部署包对应的配置键加载配置值,并以键值对的方式存储到临时存储的合并映射对象中,最后在启动微服务时,将映射对象发布到配置中心,以使配置中心自动完成微服务发布时的需要修改的配置,提高微服务的发布效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明微服务项目的配置方法的第一实施例的流程示意图;
图2是本发明微服务项目的配置方法的图1的步骤S20的细化流程示意图;
图3为本发明微服务项目的配置方法的第二实施例的流程示意图;
图4是本发明微服务项目的配置方法的各个实施例的终端硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在相关技术中,当在微服务发布时,需要在配置中心同步修改相应的配置信息。随着微服务的功能迭代和代码演进,在微服务发布时,与微服务相关的配置内容也会相应调整。然而,由于微服务的发布内容经常发生变更,配置中心对应的配置项也需要频繁更新。在规模较大的微服务架构中,当涉及的微服务数量较多时,会增加的开发人员的额外工作量,导致微服务发布效率低。
为解决上述缺陷,本发明实施例提出一种微服务项目的配置方法,其主要解决方案包括以下步骤:
获取微服务持续集成阶段生成的部署包;
根据所述部署包中的配置键加载对应配置值,并在基于所述配置键和所述配置值生成配置键值对后,将所述键值对放入合并映射对象;
在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心。
本发明通过为微服务持续集成阶段生成的部署包对应的配置键加载配置值,并以键值对的方式存储到临时存储的合并映射对象中,最后在启动微服务时,将映射对象发布到配置中心,以使配置中心自动完成微服务发布时的需要修改的配置,提高微服务的发布效率。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
请参照图1,在第一实施例中,本发明微服务项目的配置方法的步骤包括:
步骤S10,获取微服务持续集成阶段生成的部署包;
在本实施例中,微服务架构是一项在云中部署应用和服务的新技术,微服务架构的每个服务都可以独立地进行部署、升级和扩展。微服务持续集成阶段也即微服务CI阶段(Continuous Integration)。在微服务CI阶段生成部署包时,需要将微服务的依赖配置项及配置键等信息编译到部署包中。其中,微服务在研发阶段就需要确定所有依赖配置项,配置键则在设计开发过程中确定。微服务依赖配置项指的是在部署和运行微服务应用时,需要配置的相关信息,如服务依赖、环境变量以及数据库依赖等。
步骤S20,根据所述部署包中的配置键加载对应配置值,并在基于所述配置键和所述配置值生成配置键值对后,将所述键值对放入合并映射对象;
在微服务架构中,配置键是用来存储和获取配置信息的关键字,这些配置信息包括键值对,其中键是配置项的名称或标识符,值则是配置项的具体数值或值集。配置键通常由一个唯一的标识符来表示,它可以在微服务架构中的各个服务之间传递和使用。
而在本实施例中,根据配置键加载的配置值,指的是微服务发布过程中,配置中心需要修改的配置值或需要在某一配置项中,以某一配置值为准的数据。在启动微服务时,若配置中心对应的配置值需要进行修改,通常以部署包中携带的配置值为准,若配置中心对应的配置值无需修改,也即以配置中心对应的配置值为准。基于此,在部署包生成阶段,若某一配置项的配置键对应的配置值需要以配置中心的配置值为准,需要在该配置键中添加相应的指示标识,例如该标识可以是配置键的前缀标识和/或后缀标识。在基于配置键和配置值生成键值对后,可以通过临时存储的合并映射对象进行键值对的存储处理。该合并映射对象可以是mergedMap对象,该对象中包含了配置中心需要进行修改的内容,也即配置中心具体的配置模板,配置中心可以基于该对象的配置模块快速进行配置信息的修改,进而提高微服务的发布效率。
具体地,请参照图2,步骤S20包括:
步骤S21,获取所述配置键的前缀标识信息和/或后缀标识信息;
步骤S22,在所述前缀标识信息和/或所述后缀标识信息为空时,获取所述部署包中存储的预设配置值,并基于所述预设配置值和所述配置键生成所述键值对;
步骤S23,将所述键值对放入所述合并映射对象。
配置键的前缀标识信息和/或后缀标识信息关联有指定的配置值的内容,而在本实施例中,配置键的前缀标识和/或后缀标识用于指定存储中心的某一配置值,因而在前缀标识信息和/或后缀标识信息为空时,表示该项配置值以部署包中的内容为准,随后将部署包的配置键和值组成键值对,并存放到mergedMap中。
可选地,在所述前缀标识信息和/或所述后缀标识信息不为空,也即部署包的配置项的键包含特殊的前缀标识和/或后缀标识和/或其他标识时,表示该项配置值以配置中心的内容为准,基于此,确定所述前缀标识信息和/或所述后缀标识信息在所述配置中心对应的目标配置值,基于所述配置键及所述目标配置值生成所述键值对,并将所述键值对放入所述合并映射对象。也即将部署包中的配置键和配置中心对应的配置值组成键值对,并存放到mergedMap。通过两种不同处理方式,能够灵活地管理微服务项目配置过程的配置值。设置两种不同的处理方式,在提高特殊情况的应对能力的同时,能够提高配置合并键值对和配置值的效率。
示例性的,在启动微服务部署环境时,若配置中心为首次部署,此时配置中心的内容需要以部署包中的配置值为准,此时配置键不包含特殊的前缀标识信息和/或后缀标识信息。在另一场景中,在微服务发布之前,当前使用的数据库服务为本地数据库,此时在需要将微服务发布到其他客户的远程客户端时,需要修改相应的数据库的配置信息,此时对应的部署包中包含需要修改数据库引用关系的标识信息,该标识信息则以配置中心也即远程客户端的配置值为准。
步骤S30,在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心。
在本实施例中,所有配置键均生成对应的键值对后,可以生成发布所述微服务所需的目标配置内容,随后发布当前的微服务,而在微服务发布的过程中,需要对配置中心中的内容进行修改,因而需要将合并映射对象发布到配置中心,以便配置中心根据合并映射对象中临时存储的配置信息自动修改对应的配置。
可选地,在将所述合并映射对象发布到所述配置中心后,可以基于所述合并映射对象的全量配置信息,更新所述配置中心与所述全量配置信息对应的内容,进而避免需要人工手动修改配置信息,提高微服务发布效率。
在本实施例公开的技术方案中,在获取到微服务持续集成阶段生成的部署包后,根据部署包中的前缀标识信息和/或后缀标识信息进行判断处理,在标识信息为空时,以部署包中的配置值作为配置中心的新的配置项,在标识信息不为空时,则以配置中心中原有的配置值作为微服务发布的基准值,在部署包中的所有配置键均生成对应的键值对后,发布微服务并将临时存储的合并映射对象发布到配置中心,以便配置中心根据合并映射对象中的信息配置模板进行配置的修改,进而提高微服务的发布效率。
请参照图3,在第二实施例中,基于第一实施例,步骤S10之前,还包括:
步骤S40,确定所述微服务的依赖配置项,并将所述依赖配置项存入配置文件的目录中;
在本实施例中,所述依赖配置项包括依赖配置键和预设配置值,预设配置值用于在配置键不包含标识信息时,将该预设配置值与依赖配置键生成键值对。微服务在研发阶段需要确定所有依赖配置项,配置键则在设计开发确定。因而在获取微服务CI阶段生成的部署包之前,还需要确定微服务的依赖配置项的内容,以便配置系统能够根据依赖配置项的内容为配置键加载对应的配置值。配置文件的目录指的是微服务源码工程的用于存在配置文件的目录,而微服务的依赖配置项可以作为配置文件。
可选地,在K8S环境(Kubernetes环境,一种开源的容器编排系统)中,可以确定所述微服务的所述依赖配置项在所述K8S环境的中间件访问地址,其中,所述中间件访问地址包括域名信息以及端口信息,随后将所述域名信息以及所述端口信息作为其中一个所述依赖配置项,并将所述依赖配置项存入所述配置文件的目录中。示例性的,在K8S环境下,依托K8S service组件,可以预制微服务依赖的K8S内部的中间件访问地址。Redis的域名可预制为mysql.iottepa端口为6379;那么微服务依赖redis配置,可以直接固化为: redis=mysql.iottepa:6379,基于此,在设计研发阶段将微服务的配置键及配置值的内容确定下来,使得在发布微服务时,无需到配置中心进行配置的修改,提高了微服务的发布效率。
步骤S50,在所述微服务处于持续集成阶段时,将所述配置文件以及所述配置文件的目录,添加到所述微服务持续集成阶段生成的所述部署包中。
在本实施例中,在微服务处于持续集成阶段时需要生成相应的部署包,在生成部署包时,直接将配置文件的目录及目录对应的内容打包到部署包中。
示例性的,在微服务CI阶段中,可以在微服务源码工程中增加一个子目录,假定该目录为:cfg-dirs。该子目录用来存放配置文件,并且约定配置文件格式为.yaml。而在微服务CI阶段生成部署包时,需要把cfg-dirs目录以及目录中.yaml都编译到部署包中。
可选地,在特殊场景中,配置键对应的配置值的内容必须修改为配置中心对应的配置值,例如在所述依赖配置键对应的依赖配置值的发布地址,为轻量级目录访问协议服务器地址时,基于所述轻量级目录访问协议服务器的地址信息,为所述依赖配置键添加所述地址信息对应的前缀标识和/或后缀标识。示例性的,微服务在发布环境下,需要连接客户LDAP(Lightweight Directory Access Protocol Server,轻量级目录访问协议地址服务)服务器的地址,而每一个LDAP服务器的地址(IP(Internet Protocol Address,网络协议地址)或者主机名)是全球唯一的,也即每个客户的LDAP服务器地址都不一样,此时需要在服务器配置对应的配置键上加特殊的前缀标识或后缀标识或其他标识,方便后续配置合并过程中,以配置中心对应的配置值为基准,避免配置内容出错。
在本实施例公开的技术方案中,生成部署包之前也即在研发阶段,确定微服务的依赖配置项,并将配置项存入到相应的目录中,并在微服务处于持续集成阶段时将当前的配置目录及配置文件添加到部署包中,以便在接收到部署包时,能够直接根据部署包中的配置键加载对应的配置值,无需手动配置,提高部署效率。同时将配置项存放在独立的配置目录中,可以根据需要对不同的微服务进行不同的配置,灵活地管理和调整配置,在不同环境时,只需要替换对应环境的配置文件,使得微服务有良好的移植性。
在第三实施例中,本发明微服务项目的配置方法的一种实现过程可以包括:首先在微服务源码工程中增加一个子目录(假定为:cfg-dirs),用来存放配置文件,并且约定配置文件格式,假定为:.yaml;随后在微服务CI阶段生成部署包时,把cfg-dirs目录以及目录中.yaml都编译到部署包中;接着微服务在发布环境启动时,自动扫描部署包中cfg-dirs目录下.yaml文件中配置项,并根据部署包中配置键自动加载配置中心对应配置值。
而在根据部署包配置键自动加载配置中心对应的配置之后,需要定义一个mergedMap对象用来存放配置键和配置值合并后的配置内容也即存储键值对,在存储过程中当部署包的配置项的键不包含特殊的前缀标识或后缀标识或其他标识时,表示该项配置值以部署包中为准,以部署包的配置键和值组成配置项存放到mergedMap,而当部署包的配置项的键包含特殊的前缀标识或后缀标识或其他标识时,表示该项配置值以配置中心为准,以部署包的配置键和配置中心对应的值组成配置项存放到mergedMap。
接着循环部署包中每一项配置处理过程,最后得到最终和微服务匹配的全量配置并存放到mergedMap,在发布微服务时,把mergedMap自动发布到配置中心。
基于上述处理,在微服务发布时,配置中心能够根据mergedMap临时存储的配置模板进行相应的配置信息的修改,而无须开发人员进行过多的代码的处理,提高了微服务的发布效率。
参照图4,图4为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
如图4所示,该终端可以包括:处理器1001,例如中央处理器(Central ProcessingUnit,CPU),通信总线1002、网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1004可以是高速的RAM存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、数据存储模块、网络通信模块以及微服务项目的配置程序。
在图4所示的终端中,网络接口1003主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以调用存储器1004中存储的微服务项目的配置程序,并执行以下操作:
获取微服务持续集成阶段生成的部署包;
根据所述部署包中的配置键加载对应配置值,并在基于所述配置键和所述配置值生成配置键值对后,将所述键值对放入合并映射对象;
在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心。
进一步地,处理器1001可以调用存储器1004中存储的微服务项目的配置程序,还执行以下操作:
获取所述配置键的前缀标识信息和/或后缀标识信息;
在所述前缀标识信息和/或所述后缀标识信息为空时,获取所述部署包中存储的预设配置值,并基于所述预设配置值和所述配置键生成所述键值对;
将所述键值对放入所述合并映射对象。
进一步地,处理器1001可以调用存储器1004中存储的微服务项目的配置程序,还执行以下操作:
在所述前缀标识信息和/或所述后缀标识信息不为空时,确定所述前缀标识信息和/或所述后缀标识信息在所述配置中心对应的目标配置值;
基于所述配置键及所述目标配置值生成所述键值对,并将所述键值对放入所述合并映射对象。
进一步地,处理器1001可以调用存储器1004中存储的微服务项目的配置程序,还执行以下操作:
确定所述微服务的依赖配置项,并将所述依赖配置项存入配置文件的目录中,其中,所述依赖配置项包括依赖配置键和预设配置值;
在所述微服务处于持续集成阶段时,将所述配置文件以及所述配置文件的目录,添加到所述微服务持续集成阶段生成的所述部署包中。
进一步地,处理器1001可以调用存储器1004中存储的微服务项目的配置程序,还执行以下操作:
在所述依赖配置键对应的依赖配置值的发布地址,为轻量级目录访问协议服务器地址时,基于所述轻量级目录访问协议服务器的地址信息,为所述依赖配置键添加所述地址信息对应的前缀标识和/或后缀标识。
进一步地,处理器1001可以调用存储器1004中存储的微服务项目的配置程序,还执行以下操作:
确定所述微服务的所述依赖配置项在所述K8S环境的中间件访问地址,其中,所述中间件访问地址包括域名信息以及端口信息;
将所述域名信息以及所述端口信息作为其中一个所述依赖配置项,并将所述依赖配置项存入所述配置文件的目录中。
进一步地,处理器1001可以调用存储器1004中存储的微服务项目的配置程序,还执行以下操作:
在所述部署包中所有的所述配置键均生成对应的键值对后,生成发布所述微服务所需的目标配置内容;
发布所述部署包中对应的所述微服务,并将所述映射对象发布到所述配置中心。
进一步地,处理器1001可以调用存储器1004中存储的微服务项目的配置程序,还执行以下操作:
基于所述合并映射对象的全量配置信息,更新所述配置中心与所述全量配置信息对应的内容。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被控制终端中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有微服务项目的配置程序,所述微服务项目的配置程序被处理器执行时实现如上实施例所述的微服务项目的配置方法的各个步骤。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一,第二,以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种微服务项目的配置方法,其特征在于,所述微服务项目的配置方法包括:
确定微服务的依赖配置项,并将所述依赖配置项存入配置文件的目录中,其中,所述依赖配置项包括依赖配置键和预设配置值,所述预设配置值用于在配置键不包含标识信息时,将所述预设配置值与所述依赖配置键生成键值对;
在所述微服务处于持续集成阶段时,将所述配置文件以及所述配置文件的目录,添加到微服务持续集成阶段生成的部署包中;
在所述依赖配置键对应的依赖配置值的发布地址为轻量级目录访问协议服务器地址时,基于所述轻量级目录访问协议服务器的地址信息,为所述依赖配置键添加所述地址信息对应的前缀标识或后缀标识;
获取所述微服务持续集成阶段生成的部署包;
获取所述部署包对应的配置键的前缀标识信息和后缀标识信息;
在所述前缀标识信息和所述后缀标识信息为空时,获取所述部署包中存储的所述预设配置值,并基于所述预设配置值和所述配置键生成所述键值对;将所述键值对放入合并映射对象;
在所述前缀标识信息或所述后缀标识信息不为空时,确定所述前缀标识信息或所述后缀标识信息在所述配置中心对应的目标配置值;基于所述配置键及所述目标配置值生成所述键值对,并将所述键值对放入合并映射对象,其中,在标识信息为空时,表示配置值以所述部署包的配置值为准,在标识信息不为空时,表示配置值以所述配置中心的配置值为准;
在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心,所述合并映射对象指的是mergedMap对象,该对象包含了配置中心需要进行修改的内容。
2.如权利要求1所述的微服务项目的配置方法,其特征在于,在K8S环境下,所述确定微服务的依赖配置项,并将所述依赖配置项存入配置文件的目录中的步骤包括:
确定所述微服务的所述依赖配置项在所述K8S环境的中间件访问地址,其中,所述中间件访问地址包括域名信息以及端口信息;
将所述域名信息以及所述端口信息作为其中一个所述依赖配置项,并将所述依赖配置项存入所述配置文件的目录中。
3.如权利要求1所述的微服务项目的配置方法,其特征在于,所述在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心的步骤包括:
在所述部署包中所有的所述配置键均生成对应的键值对后,生成发布所述微服务所需的目标配置内容;
发布所述部署包中对应的所述微服务,并将所述映射对象发布到所述配置中心。
4.如权利要求1所述的微服务项目的配置方法,其特征在于,所述在所述部署包中所有的所述配置键均生成对应的键值对后,发布所述部署包中对应的所述微服务,并将所述合并映射对象发布到配置中心的步骤之后,还包括:
基于所述合并映射对象的全量配置信息,更新所述配置中心与所述全量配置信息对应的内容。
5.一种微服务项目的配置装置,其特征在于,所述微服务项目的配置装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务项目的配置程序,所述微服务项目的配置程序被所述处理器执行时实现如权利要求1至4中任一项所述的微服务项目的配置方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有微服务项目的配置程序,所述微服务项目的配置程序被处理器执行时实现如权利要求1至4中任一项所述的微服务项目的配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311519904.0A CN117251173B (zh) | 2023-11-15 | 2023-11-15 | 微服务项目的配置方法、微服务项目的配置装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311519904.0A CN117251173B (zh) | 2023-11-15 | 2023-11-15 | 微服务项目的配置方法、微服务项目的配置装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117251173A CN117251173A (zh) | 2023-12-19 |
CN117251173B true CN117251173B (zh) | 2024-03-08 |
Family
ID=89137208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311519904.0A Active CN117251173B (zh) | 2023-11-15 | 2023-11-15 | 微服务项目的配置方法、微服务项目的配置装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251173B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187923A (zh) * | 2020-09-28 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种政务云平台微服务配置方法 |
CN112306504A (zh) * | 2020-11-03 | 2021-02-02 | 平安普惠企业管理有限公司 | 基于配置需求的模块部署方法、装置、设备及存储介质 |
CN113127098A (zh) * | 2021-04-30 | 2021-07-16 | 康键信息技术(深圳)有限公司 | 基于微服务架构的应用程序创建方法及相关设备 |
CN113722187A (zh) * | 2021-09-14 | 2021-11-30 | 杭州振牛信息科技有限公司 | 一种面向微服务架构的服务监控系统 |
CN113760311A (zh) * | 2021-08-25 | 2021-12-07 | 山东浪潮通软信息科技有限公司 | 一种微服务部署方法、设备及介质 |
CN113886015A (zh) * | 2021-09-29 | 2022-01-04 | 新华智云科技有限公司 | 一种基于k8s的应用消息发布方法 |
CN114398151A (zh) * | 2022-01-11 | 2022-04-26 | 北京金山云网络技术有限公司 | 一种配置管理方法、装置、设备及存储介质 |
CN114610509A (zh) * | 2022-03-16 | 2022-06-10 | 百果园技术(新加坡)有限公司 | 调用参数处理方法、系统、设备、存储介质及产品 |
CN115562757A (zh) * | 2022-10-20 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、配置中心系统、电子设备及存储介质 |
CN115827100A (zh) * | 2022-12-14 | 2023-03-21 | 山东山大华天软件有限公司 | 一种工业软件微服务合并的方法及系统 |
CN116048609A (zh) * | 2022-12-28 | 2023-05-02 | 武汉联影医疗科技有限公司 | 配置文件更新方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12061595B2 (en) * | 2020-08-27 | 2024-08-13 | Mastercard International Incorporated | Facilitating performance of database operations using microservices |
-
2023
- 2023-11-15 CN CN202311519904.0A patent/CN117251173B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187923A (zh) * | 2020-09-28 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种政务云平台微服务配置方法 |
CN112306504A (zh) * | 2020-11-03 | 2021-02-02 | 平安普惠企业管理有限公司 | 基于配置需求的模块部署方法、装置、设备及存储介质 |
CN113127098A (zh) * | 2021-04-30 | 2021-07-16 | 康键信息技术(深圳)有限公司 | 基于微服务架构的应用程序创建方法及相关设备 |
CN113760311A (zh) * | 2021-08-25 | 2021-12-07 | 山东浪潮通软信息科技有限公司 | 一种微服务部署方法、设备及介质 |
CN113722187A (zh) * | 2021-09-14 | 2021-11-30 | 杭州振牛信息科技有限公司 | 一种面向微服务架构的服务监控系统 |
CN113886015A (zh) * | 2021-09-29 | 2022-01-04 | 新华智云科技有限公司 | 一种基于k8s的应用消息发布方法 |
CN114398151A (zh) * | 2022-01-11 | 2022-04-26 | 北京金山云网络技术有限公司 | 一种配置管理方法、装置、设备及存储介质 |
CN114610509A (zh) * | 2022-03-16 | 2022-06-10 | 百果园技术(新加坡)有限公司 | 调用参数处理方法、系统、设备、存储介质及产品 |
CN115562757A (zh) * | 2022-10-20 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、配置中心系统、电子设备及存储介质 |
CN115827100A (zh) * | 2022-12-14 | 2023-03-21 | 山东山大华天软件有限公司 | 一种工业软件微服务合并的方法及系统 |
CN116048609A (zh) * | 2022-12-28 | 2023-05-02 | 武汉联影医疗科技有限公司 | 配置文件更新方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于键值对存储的水电数据中心编码系统;翟桂锋 等;水电与抽水蓄能;20181220(第06期);第12-17页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117251173A (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413288B (zh) | 应用部署方法、装置、服务器及存储介质 | |
CN105657191B (zh) | 一种基于Android系统的应用增量升级方法及系统 | |
US9065843B2 (en) | Method, system and article of manufacture for providing connections and connection aliases descriptors by services and libraries archives | |
JP5669861B2 (ja) | プラットフォーム間での仮想イメージのポーティング | |
US8775577B1 (en) | System and method for configuration management service | |
US20160019072A1 (en) | Dynamic determination of application server runtime classloading | |
CN110463162B (zh) | 应用部署方法、装置及系统 | |
CN112486547B (zh) | 多租户场景下的应用程序更新方法、装置及电子设备 | |
US7069550B2 (en) | Delegation-based class loading of cyclically dependent components | |
CN111309401A (zh) | 一种在Kubernetes中运行多CPU架构服务的方法 | |
CN109271198A (zh) | 基于Docker容器的镜像打包方法、装置及电子设备 | |
KR20170048797A (ko) | 인프라의 설치와 구성을 자동화하는 장치 및 그 방법 | |
CN106569880B (zh) | 一种Android应用间动态共享资源的方法及系统 | |
CN106873970B (zh) | 一种操作系统的安装方法和装置 | |
CN108279941B (zh) | 一种应用程序的压缩方法和装置 | |
CN106020877A (zh) | 系统环境配置自动更新方法及装置 | |
CN109933350B (zh) | 在应用中嵌入代码的方法、装置及电子设备 | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN116755788A (zh) | 一种线上规则修改方法、装置、设备及存储介质 | |
CN112631727B (zh) | 一种容器组pod的监控方法及装置 | |
CN112035122A (zh) | 一种接口部署方法、系统及存储介质 | |
CN108062239A (zh) | 一种加速器加载方法、系统和加速器加载装置 | |
CN117251173B (zh) | 微服务项目的配置方法、微服务项目的配置装置及介质 | |
CN105373384B (zh) | 一种软件开发方法和装置 | |
CN113867776B (zh) | 中台应用的发布方法、装置、电子设备和存储介质 |
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 |