一种面向微服务开发的参数配置方法与系统与流程

文档序号:30578767发布日期:2022-06-29 10:58阅读:204来源:国知局
一种面向微服务开发的参数配置方法与系统与流程

1.本发明涉及微服务划分的软件系统技术领域,尤其是指一种面向微服务开发的参数配置方法与系统。


背景技术:

2.微服务是一种分布式系统解决方案,推动细粒度服务的使用,使每个服务都可以独立运行,且这些服务可以协同工作。而目前很多业务系统都希望是独立可运行的,不受其他系统制约和调配,然而,每个系统都有参数配置的需求,仅靠自己实现就很繁琐,所以衍生出了配置中心服务,单独提供参数配置的能力。
3.发布平台时,每个业务,每个应用都会存在一些个性化的参数,例如性别,各个业务系统都可能存在不同配置,有些业务系统将性别分为男、女,有些业务系统将性别分为男、女、未知。所以很多对接的业务系统都很难使用一个统一的配置管理,只能各个业务系统去实现一套对参数的管理。而业务系统参数可能存在重叠,例如a系统有一个参数(key-value)性别:0-男,1-女,b系统也有一个参数(key-value)性别:0-女,1男,2未知,但是两个系统有一个共同前端应用展示的页面显示统计的结果,容易给开发人员造成混淆。
4.在微服务架构中,由于服务数量众多,各种参数配置比如:服务地址、数据库、缓存、文件系统、消息队列,以及业务相关的配置都需要进行配置与管理。如果使用传统的配置文件管理方式,配置文件分散在各个项目中,不易于集中管理和维护。并且传统的配置方式一般都是放在项目中的xml、properties等配置文件中,与应用打包到一起,每次的修改配置都需要重新打包,发布,效率极低,动态配置中心就是为了解决动态业务参数配置这一问题。动态配置中心也是一个微服务,当用户配置修改,通过服务订阅更新参数配置,而不再需要重新打包与重启。


技术实现要素:

5.针对上述背景技术中的问题,提供一种全新的面向微服务开发的参数配置方法。开发者开发一个应用在平台上上架提供给租户安装并提供给企业管理员配置以及员工使用。统一了应用参数的开发规范,减少开发者重复开发,统一应用入口,便于用户使用,减少学习成本。
6.本发明所述的一种面向微服务开发的参数配置方法,包括:
7.s1获取开发者创建的应用套件并返回该应用id标识;
8.s2获取开发者对所述应用套件配置的应用参数属性和应用参数类型;
9.s3向配置管理平台上架所述应用套件,并发布给租户;
10.s4获取租户修改的应用参数数据并对应租户id标识保存到应用服务本地缓存中;
11.s5将修改过的应用套件以jar包的形式接入微服务系统;
12.s6接收租户请求的应用id标识和租户id标识,为租户提供对应参数配置的应用套件。
13.本发明提供一种基于微服务架构下的统一配置与动态业务配置参数刷新模型,该模型基于配置中心的统一的业务参数配置管理,利用rabbitmq技术通知参数变更,微服务接收到通知后通过租户以及应用参数更新到本地缓存系统中。配置中心支持多节点集群,配置参数的版本管理。
14.具体地,所述应用参数属性包括名称、标识、默认值和类型;所述应用参数类型包括下拉框、单选、复选、数值和文本框。
15.进一步地,所述配置管理平台是一个参数配置管理微服务系统,为各微服务提供外部配置存储与管理服务,配置应用的参数;所述配置管理平台包括两个服务端口,一端提供给开发者为应用定义参数属性、参数默认值、参数类型;一端提供给租户配置获取、实时更新功能,支持客户端负载均衡、错误重试。
16.进一步地,所述应用id标识用于接入识别身份;所述应用套件为考勤时,所述租户修改的应用参数数据为上班时间和下班时间,每个租户的应用参数数据通过租户id标识彼此隔离,互不影响。
17.进一步地,所述应用套件以jar包的形式接入微服务系统,若为基于pom的maven项目,则在pom.xml文件中添加上依赖。
18.本发明还提供一种面向微服务开发的参数配置系统,包括:
19.用于获取开发者创建的应用套件并返回该应用id标识的装置;
20.用于获取开发者对所述应用套件配置的应用参数属性和应用参数类型的装置;
21.用于向配置管理平台上架所述应用套件,并发布给租户的装置;
22.用于获取租户修改的应用参数数据并对应租户id标识保存到应用服务本地缓存中的装置;
23.用于将修改过的应用套件以jar包的形式接入微服务系统的装置;
24.用于接收租户请求的应用id标识和租户id标识,为租户提供对应参数配置的应用套件的装置。
25.进一步地,本发明还提供一种可读储存介质,其上储存有控制程序,其特征在于:该控制程序被处理器执行时实现如上述任意一项所述的面向微服务开发的参数配置方法。
26.进一步地,本发明还提供一种计算机控制系统,包括储存器、处理器以及储存在所述储存器中并可被所述处理器执行的控制程序,其特征在于:所述处理器执行所述控制程序时实现如上述任意一项所述的面向微服务开发的参数配置方法。
27.为了能更清晰的理解本发明,以下将结合附图说明阐述本发明的具体实施方式。
附图说明
28.图1为本发明实施例的面向微服务开发的参数配置方法的流程框图;
29.图2为本发明实施例的配置管理平台与开发者和租户的关系示意图。
30.图3为本发明实施例的参数配置示意图。
31.图4为本发明实施例的面向微服务开发的参数配置系统的结构图。
具体实施方式
32.请参阅图1,其为本发明实施例的面向微服务开发的参数配置方法的流程框图。
33.本发明所述的一种面向微服务开发的参数配置方法,包括:
34.s1获取开发者创建的应用套件并返回该应用id标识;
35.s2获取开发者对所述应用套件配置的应用参数属性和应用参数类型;
36.s3向配置管理平台上架所述应用套件,并发布给租户;
37.s4获取租户修改的应用参数数据并对应租户id标识保存到应用服务本地缓存中;
38.s5将修改过的应用套件以jar包的形式接入微服务系统;
39.s6接收租户请求的应用id标识和租户id标识,为租户提供对应参数配置的应用套件。
40.本发明提供了一种面向微服务开发的参数配置方法,开发者开发一个应用在平台上上架提供给租户安装并提供给企业管理员配置以及员工使用。统一了应用参数的开发规范,减少开发者重复开发,统一应用入口,便于用户使用,减少学习成本。
41.具体地,所述应用参数属性包括名称、标识、默认值和类型;所述应用参数类型包括下拉框、单选、复选、数值和文本框。
42.进一步地,所述配置管理平台是一个参数配置管理微服务系统,为各微服务提供外部配置存储与管理服务,配置应用的参数;所述配置管理平台包括两个服务端口,一端提供给开发者为应用定义参数属性、参数默认值、参数类型;一端提供给租户配置获取、实时更新功能,支持客户端负载均衡、错误重试。
43.进一步地,所述应用id标识用于接入识别身份;所述应用套件为考勤时,所述租户修改的应用参数数据为上班时间和下班时间,每个租户的应用参数数据通过租户id标识彼此隔离,互不影响。
44.进一步地,所述应用套件以jar包的形式接入微服务系统,若为基于pom的maven项目,则在pom.xml文件中添加上依赖。
45.请参阅图2-图4。
46.在本发明的实施例中,在开发者的应用服务端中,所有使用配置中心的应用会在配置中心注册一个应用,会产生一个应用标识,用于接入时识别身份及相对应的配置参数。在developer center(开发者中心),创建好应用后,再给应用单独配置参数,应用发布后,在console center(企业控制中心)会出现可安装的应用,安装后就可以看到应用默认的参数配置,并支持编辑。首先开发者需要在开发者中心中手动创建一个应用套件,则该应用具备了唯一的应用id标识,用于接入识别身份。开发者在创建应用后,就可以使用参数配置的功能来配置该应用的参数。
47.在本发明的实施例中,参考图3,开发者开发一个考勤的应用,需要配置一个上班时间,一个下班时间,而租户a公司的上班时间是9点,租户b公司的上班时间是10点,开发者需要配置的就是上班时间,下班时间两个参数,而具体的9点,10点由租户自己去修改设定。当开发者上架考勤应用后,企业管理员通过console center(企业控制台中心)安装考勤这个应用。安装后会有一个该应用的参数配置的页面,租户就能自定义该应用的参数配置。
48.在本发明的实施例中,每个租户的数据都是隔离开的,租户a企业配置了上班时间是9点,租户b企业配置的是10点,企业管理员修改了参数的配置后,该租户会产生一条数据对应该租户的应用参数,并且产生rabbitmq消息数据,通知该参数发生变更,当应用服务接收到通知的时候,更新对应的参数数据并保存到应用服务本地缓存中。因此在断线的情况
下,基于本地的缓存信息可以延长使用时间。
49.修改过的应用套件以jar包的形式接入微服务系统,若为基于pom的maven项目,则在pom.xml文件中添加上依赖。
50.在pom.xml的《dependencies》《/dependencies》结构中添加
51.《!
‑‑
pai api config
‑‑

52.《dependency》
53.《groupid》cn.flyrise《/groupid》
54.《artifactid》pai-api-config《/artifactid》
55.《/dependency》
56.即可更新使用。
57.在本发明的实施例中,企业管理员更新参数数据的时候,会产生一条消息通知到应用服务,应用服务接收到通知后,首先通过内部协议获取更新后的参数数据,然后缓存到本地,再缓存数据到redis中,可以实现多节点实时同步数据。所述内部协议是指不能通过外部的api直接调用,只能在已注册到服务中心的服务,并且通过内网的方式调用,提高了安全性。
58.当租户在使用这个发布的应用的时候,通过应用id标识和租户id标识请求业务系统的参数配置数据。
59.本发明实施例中的developer center(开发者中心)的职能为:
60.1)开发者创建一个应用
61.2)接入配置中心:配置应用的参数
62.3)发布应用以及配置参数
63.本发明实施例中的console center(企业控制中心)的职能为:
64.1)企业管理员安装应用,提供给员工使用
65.2)企业管理员修改应用的参数属性配置
66.3)接入配置中心:配置租户的个性化的参数配置
67.本发明实施例中的config center(配置中心)的职能为:
68.1)提供租户获取、更新参数配置
69.2)提供一个jar包给微服务系统,包含获取租户参数配置、更新以及删除配置接口,业务系统直接引用就可以使用。
70.本发明实施例中的business system(业务系统)的职能为:
71.1)通过jar提供的api,无需开发就能直接使用,获取到用户所在租户的参数数据。
72.2)业务系统也能自己通过覆盖api,自定义实现自己的逻辑,数据会先从redis中先获取,获取不到再通过配置中心api获取。
73.本发明的核心在于提供一种基于微服务架构下的统一配置与动态业务配置参数刷新模型,该模型基于配置中心的统一的业务参数配置管理,利用rabbitmq技术通知参数变更,微服务接收到通知后通过租户以及应用参数更新到本地缓存系统中。配置中心支持多节点集群,配置参数的版本管理。
74.本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发
明也一同包含这些改动和变形。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1