CN116048467A - 微服务开发平台及业务系统开发方法 - Google Patents
微服务开发平台及业务系统开发方法 Download PDFInfo
- Publication number
- CN116048467A CN116048467A CN202211663259.5A CN202211663259A CN116048467A CN 116048467 A CN116048467 A CN 116048467A CN 202211663259 A CN202211663259 A CN 202211663259A CN 116048467 A CN116048467 A CN 116048467A
- Authority
- CN
- China
- Prior art keywords
- service
- module
- micro
- development
- calling
- 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.)
- Pending
Links
- 238000011161 development Methods 0.000 title claims abstract description 95
- 230000018109 developmental process Effects 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000033772 system development Effects 0.000 title claims abstract description 10
- 238000012544 monitoring process Methods 0.000 claims abstract description 27
- 230000002452 interceptive effect Effects 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000008676 import Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000009877 rendering Methods 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 47
- 230000003993 interaction Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 5
- 241000700189 Hystrix <Rodentia> Species 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 208000025174 PANDAS Diseases 0.000 description 2
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 2
- 240000004718 Panda Species 0.000 description 2
- 235000016496 Panda oleosa Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011981 development test Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种微服务开发平台及业务系统开发方法,涉及智能家居/智慧家庭技术领域,该微服务开发平台用于业务系统的开发,包括后端服务开发单元和前端服务开发单元,后端服务开发单元用于为所述业务系统的开发提供代码模板,前端服务开发单元用于为所述业务系统的开发提供微服务组件。通过组件化服务的方式,使各端各业务部门的服务一体化,从而减少开发成本,统一管理,统一监控,提升企业的开发效能。
Description
技术领域
本申请涉及智能家居/智慧家庭技术领域,具体而言,涉及一种微服务开发平台及业务系统开发方法。
背景技术
随着业务团队的不断壮大,开发资源越来越多,各端业务联系越来越紧密,但是各端各部门各业务系统开发使用的框架并不一致,没有形成一套统一的技术标准。这导致同样的服务或者功能在不同系统中往往会重复开发,容易造成资源浪费。当跨部门或者跨系统进行技术支持时需要更高的学习更本,既影响工作效率,也无法形成技术沉淀。并且各端提供的服务很难复用,跨部门需求排期往往会很长,无法做到企业级的敏捷开发。
发明内容
为了克服上述缺陷,提出了一种微服务开发平台及业务系统开发方法,以提供解决或至少部分地解决现有业务系统开发中存在开发资源浪费、开发效率低的技术问题。
第一方面,本发明提供一种微服务开发平台,用于业务系统的开发,包括:
后端服务开发单元,以脚手架为所述业务系统的开发提供代码模板;
前端服务开发单元,以节点包管理工具形式为所述业务系统的开发提供微服务组件;
所述微服务组件包括:
微服务功能单元,用于为所述业务系统提供对应的功能;以及
API管理单元,用于将微服务封装为API接口以供所述业务系统调用。
进一步,所述平台还包括交互界面;
所述脚手架包括脚手架代码生成模块,
其中,所述交互界面接收开发人员的代码生成请求指令,所述脚手架代码生成模块根据所述代码生成请求指令生成对应的代码模板。
进一步,所述代码生成模块包括数据库操作代码生成模块,其中,响应于开发人员在所述交互界面上的数据源选择指令、数据库选择指令以及表结构选择指令,所述数据库操作代码生成模块生成增删改查代码模板;和/或
所述代码生成模块包括前端代码生成模块,其中,响应于开发人员在所述交互界面上对目标控件的拖拽指令,所述前端代码生成模块生成前端代码模板。
进一步,所述脚手架还包括:
国际化配置模块,用于在所述代码模板中配置所需的国际化语言;和/或
单点登录模块,用于在所述代码模板中提供对多个微服务调用的单点登录功能;和/或
导入导出模块,用于在所述代码模板中提供对数据库的数据导入导出功能。
进一步,所述微服务功能单元包括:
服务注册发现模块,其中通过调用所述服务注册发现模块实现对微服务的注册和发现,从而记录和管理服务与服务实例地址的映射关系;和/或
服务治理模块,其中通过调用所述服务治理模块对微服务进行全生命周期管理;和/或
服务监控模块,其中通过调用所述服务监控模块在微服务的服务依赖的调用过程中,对服务延迟和故障提供容错机制和服务监控;和/或
日志管理模块,其中通过调用所述日志管理模块对产生的工作日志进行监控和分析;和/或
用户权限管理模块,其中通过调用所述用户权限管理模块统一管理用户访问微服务的权限;
交互界面配置模块,其中通过调用所述交互界面配置模块生成交互界面配置信息并从数据库中获取相应的业务信息,从而将所述交互界面配置信息和所述业务信息返回所述交互界面进行渲染;和/或
报表服务模块,其中通过调用所述报表服务模块提供报表服务;和/或
配置中心模块,其中通过调用所述配置中心模块对微服务的配置信息进行统一管理;和/或
链路跟踪模块,其中通过调用所述链路跟踪模块收集微服务的请求链路的跟踪数据,从而确定出发生故障的链路或微服务;和/或
任务调度模块,其中通过调用所述任务调度模块对微服务之间的调用进行路由转发。
进一步,所述微服务功能单元包括:
文件服务模块,其中通过调用所述文件服务模块统一管理产生的文件,从而为用户提供文件和目录上传和/或下载服务;和/或
消息服务模块,其中通过调用所述消息服务模块根据在交互界面上配置的消息发送规则向用户提供消息通知服务;和/或
流程引擎模块,其中通过调用所述流程引擎模块根据在交互界面上绘制的流程节点生成并执行审批流程;和/或
规则引擎模块,其中通过调用所述规则引擎模块根据在交互界面上设置的业务逻辑规则生成并执行业务逻辑。
进一步,API管理单元包括:
服务网关,被配置为实现对接收到的微服务调用请求的统一接入、协议适配、安全验证以及路由中的一种或多种功能。
第二方面,本发明提供了一种利用微服务开发平台进行业务系统开发的方法,包括:
响应于开发人员的代码生成请求指令,所述后端服务开发单元生成对应的代码模板;
根据所述业务系统开发的需求,从所述前端服务开发单元中选择所需的微服务组件;以及
将所述代码模板和所述微服务组件导入开发人员所使用的开发环境进行二次开发。
进一步,所述响应于开发人员的代码生成请求指令,所述后端服务开发单元生成对应的代码模板,包括:
交互界面接收开发人员的代码生成请求指令;
脚手架代码生成模块根据所述代码生成请求指令生成对应的代码模板。
进一步,所述从所述前端服务开发单元中选择所需的微服务组件,包括:
通过API管理单元从所述前端服务开发单元调用所需的微服务功能单元。
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
本发明中,微服务开发平台通过制定统一的软件标准,形成统一的公共服务,为各端的技术人员提供服务,便于各种业务系统的开发。其中,通过前端服务开发单元提供代码模板,技术人员可以直接调用代码模板用于业务系统的开发;通过后端服务开发单元提供微服务组件。本发明通过组件化服务的方式,使各端各业务部门的服务一体化,从而减少开发成本,统一管理,统一监控,提升企业的开发效能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中微服务开发平台的原理框图;
图2是本发明实施例2中业务系统开发方法的流程图;
图3是根据本申请实施例的一种智能设备的交互方法的硬件环境示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
如图1所示,本实施例提供一种微服务开发平台,用于业务系统的开发,包括后端服务开发单元和前端服务开发单元。
本实施例中,前端服务开发单元用于为所述业务系统的开发提供微服务组件。具体的,所述前端服务开发单元以npm包(即节点包管理工具)形式发布所述微服务组件。后端服务开发单元用于为所述业务系统的开发提供代码模板,所述代码模板为压缩包形式,开发人员下载后导入其自身的开发环境例如idea或eclipse以进行二次开发。具体的,所述后端服务开发单元以脚手架提供所述代码模板,其中,脚手架是开发过程中使用的服务框架。
在一个实施例中,前端服务开发单元为用户提供可视化操作,完成业务系统的自动化创建。前端服务开发单元包括页面视图层和应用模板层,其中,页面视图层用于提供页面视图层开发的基本元素,包括编辑按钮、分页按钮、操作按钮和界面元素样式配置。
在一个实施例中,以脚手架提供所述代码模板的具体操作流程为:开发人员首先确定业务开发所需框架的类型以及参数信息,通过在可视化前端界面,点击“立即构建”按钮,生成框架生成指令。其中,参数信息可以包括根据框架类型确定的框架参数、框架的标识信息等,可视化前端界面可以是WEB界面、客户端界面等。本发明中的微服务开发平台接收到框架生成指令后,根据类型和参数从代码库中选择相应的代码模板,根据框架生成指令中包括的参数信息确定目标框架对应的目标代码,根据目标代码以及框架模板生成目标框架,实现了以脚手架提供代码模板的功能。
在一个实施例中,微服务平台包括微服务应用、配置类工具、监控类工具;所述配置类工具为Apollo,用于微服务平台配置信息的统一管理;所述监控类工具包括断路器Hystrix和链路追踪Zipkin,断路器Hystrix用于微服务应用调用过程中的容错管理,为一种容错管理工具,负责在服务依赖的调用过程当中,对服务延迟和故障提供一种容错机制(服务降级、服务熔断、线程隔离,请求缓存、请求合并等)和服务监控;链路追踪Zipkin为分布式链路调用监控系统,负责收集各个服务器上请求链路的跟踪数据,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。
在一个实施例中,链路追踪模块能够对一个已完成微服务的所有运行链路进行追踪,从中确定出发生故障的链路,并将该发生故障的链路反馈至交互层,以在交互层显示所述出现故障的链路,从而提示运维人员及时对故障的链路进行维护。或者,链路追踪模块还能够对多个已完成微服务进行追踪,从而确定出发生故障的微服务,将发生故障的微服务反馈至交互层,从而在交互层显示该微服务,以使运维人员及时对故障的微服务进行维护。
进一步,所述微服务组件包括:
微服务功能单元,用于为所述业务系统提供对应的功能;以及
API管理单元,用于将微服务封装为API接口以供所述业务系统调用。
在一个实施例中,以微服务为单元,得到实现其功能的源代码;将微服务的源代码以容器的方式封装并发布;具体为,在各微服务的源代码已经准备好后,将得到的多个已经准好的、能够实现微服务功能的源代码分别封装在其各自的容器中,再对这些容器进行编排和设置,然后形成容器镜像,形成软件产品发布。
其中,一个微服务的源代码封装在一个容器中。将一个微服务的源代码、之前设定的数据传输通信协议和接口以及该微服务源代码运行需要的数据和工具一起封装在一个容器中;生成编译容器并发布,所述编译容器抓取与其功能或服务对应的源代码,形成容器;该容器除了取得上述源代码之外,还取得设定的数据传输通信协议和接口以及该微服务源代码运行需要的数据和工具。
进一步,API管理单元包括:
服务网关,被配置为实现对接收到的微服务调用请求的统一接入、协议适配、安全验证以及路由中的一种或多种功能。
本实施例中,服务网关Zuul是在云平台上提供动态路由、监控、弹性、安全等边缘服务的框架。负责微服务架构中所有微服务的访问调度和过滤,除了请求路由、负载均衡、校验过滤等,还实现权限控制,单点登录等高级功能。
进一步,所述平台还包括交互界面,所述脚手架包括脚手架代码生成模块,
其中,所述交互界面接收开发人员的代码生成请求指令,所述脚手架代码生成模块根据所述代码生成请求指令生成对应的代码模板。
在一个实施例中,采用交互层提供操作界面,并将在所述操作界面上触发的创建请求发送到开发层;所述创建请求用于请求创建待开发业务事项的微服务;采用所述开发层根据所述微服务生成调用请求,向中间层发送所述调用请求,以调用目标中间组件;采用所述中间层向容器层发送所述调用请求,以调用目标容器;采用所述容器层提供搭建不同中间组件的至少两个容器,响应于所述调用请求,向所述中间层反馈所述目标容器;采用所述中间层利用所述目标容器创建所述目标中间组件,并将所述目标中间组件发送给所述开发层;采用所述开发层,在微服务框架中,利用所述目标中间组件创建所述业务事项的已完成微服务,并将所述已完成微服务反馈至所述交互层;其中,所述微服务框架能够支持实现任意类型的业务事项;
进一步,所述代码生成模块包括数据库操作代码生成模块,其中,响应于开发人员在所述交互界面上的数据源选择指令、数据库选择指令以及表结构选择指令,所述数据库操作代码生成模块生成增删改查代码模板。
本实施例中,增删改查代码模板是通过操作按钮包括输入控件,使用户通过鼠标点击,和/或文字输入,和/或语音输入的方式完成项目的自动化创建。所述编辑按钮包括添加功能按钮控件、修改功能按钮控件、查询功能按钮控件、删除功能按钮控件以及刷新功能按钮控件,用户通过一个或多个所述编辑按钮实现增删改查的全部操作。
进一步,所述代码生成模块包括前端代码生成模块,其中,响应于开发人员在所述交互界面上对目标控件的拖拽指令,所述前端代码生成模块生成前端代码模板。
本实施例中,在构建微服务应用前端后和微服务应用后端后,微服务应用开发平台可以获取微服务应用前端对应的代码,即前端代码,以及,获取微服务应用后端对应的代码,即后端代码。在获取到前端代码和后端代码后,微服务应用开发平台可以从前端代码中,确定出前端接口代码,进而确定出微服务应用前端对应的前端接口,以及,可以从后端代码中,确定出后端接口代码,进而确定出微服务应用后端对应的后端接口。根据后端代码,确定微服务应用后端对应的多个后端实体资源,并针对各个后端实体资源,生成对应的路由,当获取到该路由时,可通过该路由查找对应的后端实体资源。
将多个路由存储到微服务应用节点中间层中,并建立前端接口、微服务应用节点中间层和后端接口的通信连接,以使微服务应用前端在接收到资源调用请求时,通过微服务应用节点中间层的多个路由,从微服务后端获取到匹配的后端实体资源。接收目标组件的拖拽命令,并基于目标组件和拖拽命令对应的目标位置生成前端代码。为目标组件配置数据源地址和目标数据项,并基于数据源地址和所述目标数据项生成后端代码;根据数据源地址获取所述目标数据项,并基于所述目标组件的参数信息和获取到的所述目标数据项渲染页面;将所述前端代码和所述后端代码部署于云端。
进一步,所述脚手架还包括:
国际化配置模块,用于在所述代码模板中配置所需的国际化语言;
在一个实施例中,在接收到应用终端的访问请求后,即可根据访问请求确定应用终端所请求的语言类型,并对访问请求进行解析,同时将解析后的访问请求发送至各微服务,以使得各微服务对接收到的访问请求进行响应,并返回对应的第一响应数据。在所返回的第一响应数据到达gateway之前,对各第一响应数据进行统一拦截,在获取到各微服务所返回的第一响应数据时,通过在预设数据库中进行数据查找来对各第一响应数据进行统一的国际化处理,并将国际化处理得到的第二响应数据返回至所述应用终端。避免在每一个微服务中进行各自国际化处理,有效提高了国际化处理的处理效率,减少了代码冗余,增强了代码的可读性和可修改性,方便进行代码维护。其中,预设数据库中配置有与第一响应数据A对应的第二响应数据B、第二响应数据C、第二响应数据D、第二响应数据E以及第二响应数据F。
在一个实施例中,第二响应数据B的语言类型为英语、第二响应数据C的语言类型为日语、第二响应数据D的语言类型为法语、第二响应数据E的语言类型为德语、第二响应数据F的语言类型为韩语,而某一访问请求所返回的第一响应数据为第一响应数据A,且根据该访问请求确定所述应用终端所请求的语言类型为法语时,则从预设数据库可查找到与第一响应数据A相对应的、且符合所请求的语言类型的第二响应数据为第二响应数据D。
单点登录模块,用于在所述代码模板中提供对多个微服务调用的单点登录功能。
在一个实施例中,在多个系统中,用户只需一次登录,各个系统即可感知该用户已经登录。比如阿里系的淘宝和天猫,很明显地我们可以知道这是两个系统,但是你在使用的时候,登录了天猫,淘宝也会自动登录。通过统一的登陆页面与用户交互,把用户输入的账户信息作为认证参数发送到统一安全认证中心获取该用户访问的合法令牌;验证用户输入的验证信息并提供用户访问应用系统操作界面的合法令牌。当用户通过第一应用的登录端登录第一应用,并与浏览器建立会话后,即输入正确的账号和密码并登录后,单点登录服务的服务端将用户信息传递给第二应用的登录端,授信的第二应用的登录端会保存用户在第一应用的登录端输入的账号和密码,用户在登录第二应用时,则无需再重复输入账号和密码,即可通过第二应用的登录端登录第二应用。
导入导出模块,用于在所述代码模板中提供对数据库的数据导入导出功能。
分布式事务模块,分布式事务处理涉及到对多个数据库的操作,分布式事务处理的关键是保持各个数据库的数据一致性。采用tcc模式对分布式事务进行处理,用于统一管理多服务事务,保证数据的一致性需求和服务的幂等性。
在一个实施例中,分布式事务处理涉及到对多个数据库的操作,分布式事务处理的关键是保持各个数据库的数据一致性。通过采用tcc模式对分布式事务进行处理,用于统一管理多服务事务,保证数据的一致性需求和服务的幂等性
进一步,所述微服务功能单元包括:
服务注册发现模块,其中通过调用所述服务注册发现模块实现对微服务的注册和发现,从而记录和管理服务与服务实例地址的映射关系。
本实施例中,服务注册发现模块主要用于AWS云中定位服务,以实现中间层服务器的负载平衡和故障转移。负责完成微服务架构中的服务治理功能,实现服务注册和服务发现的自动化管理。
服务治理模块,其中通过调用所述服务治理模块对微服务进行全生命周期管理。
本实施例中,服务治理模块包括在开发测试环境下的服务规范管理和在生产环境下的服务运行态统一治理。
其中,在开发测试环境下,服务治理模块用于维护服务定义及服务发布申请在内的信息,并将信息同步至注册中心用于服务注册时的安全验证。即,在微服务自动注册时,注册中心可以利用同步到的信息进行安全验证。
在生产环境下,服务治理模块用于对服务网关的配置进行统一管理,使用动态更新机制将配置信息数据实时同步到服务网关,由服务网关根据配置信息进行热更新;其中,统一管理的服务网关配置信息包括:负载均衡策略、流量控制策略、服务隔离策略、服务熔断策略,以及进行报文协议和格式转换的配置信息
服务监控模块,其中通过调用所述服务监控模块在微服务的服务依赖的调用过程中,对服务延迟和故障提供容错机制和服务监控。
本实施例中,服务监控模块为断路器Hystrix,为一种容错管理工具,负责在服务依赖的调用过程当中,对服务延迟和故障提供一种容错机制(服务降级、服务熔断、线程隔离,请求缓存、请求合并等)和服务监控。
日志管理模块,其中通过调用所述日志管理模块对产生的工作日志进行监控和分析。
本实施例中,日志管理模块对整个应用开发系统的工作日志进行监控,首先获取这些工作日志,然后对工作日志进行处理,比如,进行监督和分析,将监督和分析的处理结果,反馈至操作界面。
日志管理模块包括日志收集子模块和日志监测子模块,日志收集子模块设置于应用开发系统下的设备集群中的每一设备中,用于获取每一设备的工作日志,并将所述每一设备的工作日志发送至日志监测模块。日志监测子模块用于对每一设备的工作日志进行监测,当监测到工作日志中存在满足预设条件的异常信息时,向操作界面反馈告警信息,以使告警信息显示在所述操作界面。
用户权限管理模块,其中通过调用所述用户权限管理模块统一管理用户访问微服务的权限。
本实施例中,用户权限管理模块统一管理各个系统或应用的用户,负责各个系统或应用的权限,配置角色,分配资源,最后赋予用户相应的角色,配置各个系统或应用的菜单及资源,管理微服务中的各个服务,及服务间调用及授权。用户权限管理服务进一步包括用户管理、权限管理、菜单及资源管理、服务管理。
交互界面配置模块,其中通过调用所述交互界面配置模块生成交互界面配置信息并从数据库中获取相应的业务信息,从而将所述交互界面配置信息和所述业务信息返回所述交互界面进行渲染。
本实施例中,后端(服务器端)生成对应的UI配置信息,并根据权限信息从数据库中取得相应入库的业务信息,最后一并返回给前端(用户端)进行渲染。
报表服务模块,其中通过调用所述报表服务模块提供报表服务。
配置中心模块,其中通过调用所述配置中心模块对微服务的配置信息进行统一管理。
本实施例中,配置中心模块是分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。负责微服务系统配置信息的统一管理,支持配置信息动态发布,灰度发布,多环境统一管理等。
链路跟踪模块,其中通过调用所述链路跟踪模块收集微服务的请求链路的跟踪数据,从而确定出发生故障的链路或微服务。
本实施例中,链路跟踪模块为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。负责收集各个服务器上请求链路的跟踪数据。
任务调度模块,其中通过调用所述任务调度模块对微服务之间的调用进行路由转发。
本实施例中,任务调度模块用于接收微服务调用请求,并将所述微服务调用请求按照设定的负载方式转发到对应可提供地理空间信息微服务的服务器;在服务运行时,启动对应的任务,当调用服务运行时,会启动对应的任务。
进一步,所述微服务功能单元包括:
文件服务模块,其中通过调用所述文件服务模块统一管理产生的文件,从而为用户提供文件和目录上传和/或下载服务。
消息服务模块,其中通过调用所述消息服务模块根据在交互界面上配置的消息发送规则向用户提供消息通知服务。
本实施例中,消息服务模块可处理不同微服务的业务消息,该方法包括:接收各微服务发送的业务消息,其中,业务消息用于指示执行对应的业务操作;根据数据库对业务消息的存储结果,发送业务消息的存储信息,存储信息包括存储结果;根据发送的业务操作结果,确定业务消息的执行状态;根据业务消息的执行状态,确定是否发送业务消息。通过消息服务系统对各微服务的业务消息的执行状态进行更新,从而使得业务操作涉及多个微服务的数据库的操作时,能够实现对业务消息的执行状态的统一设置,避免了业务消息的执行状态不一致导致的系统状态异常,提升系统状态的稳定性。
流程引擎模块,其中通过调用所述流程引擎模块根据在交互界面上绘制的流程节点生成并执行审批流程。
规则引擎模块,其中通过调用所述规则引擎模块根据在交互界面上设置的业务逻辑规则生成并执行业务逻辑。
本实施例中,规则引擎微模块对接收到的所述指标数据进行传输规则和告警规则的识别归类,并将所述传输规则推送到所述数据传输微服务模块中。在规则引擎模块内部,可以将从外部接收到的业务需求数据拆解为事实对象和规则文件,也即是分为数据和逻辑两部分,再利用业务规则文件对事实对象进行逻辑处理。这里所述的规则文件就是一系列逻辑处理的集合,所述事实对象就是数据。而是否进行这样的逻辑处理则是由规则表中的可执行域决定的,符合可执行域的就启动执行,不符合可执行域的就不启动执行。
实施例2
如图2所示,本实施例提供了一种利用微服务开发平台进行业务系统开发的方法,包括:
步骤1:响应于开发人员的代码生成请求指令,所述后端服务开发单元生成对应的代码模板。
步骤2:根据所述业务系统开发的需求,从所述前端服务开发单元中选择所需的微服务组件。
步骤3:将所述代码模板和所述微服务组件导入开发人员所使用的开发环境进行二次开发。
进一步,所述响应于开发人员的代码生成请求指令,所述后端服务开发单元生成对应的代码模板,包括:
交互界面接收开发人员的代码生成请求指令;
脚手架代码生成模块根据所述代码生成请求指令生成对应的代码模板。
进一步,所述从所述前端服务开发单元中选择所需的微服务组件,包括:
通过API管理单元从所述前端服务开发单元调用所需的微服务功能单元。
其中,开发环境包括idea或eclipse。在一个实施例中,开发工具采用Spring ToolSuite(STS)来提供开发环境,STS是Spring官方推出的基于eclipse的开发工具,集成了M2E,Spring IDE等插件。项目开发过程中越来越多的用到项目构建工具来完成项目构建工作,以及管理项目所依赖的第三方类库。本实施例中项目构建工具有Ant、Maven、Gradle等。
根据本申请实施例的一个方面,提供了一种智能家居设备的交互方法。该智能家居设备的交互方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(Intelligence House)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述智能家居设备的交互方法可以应用于如图3所示的由终端设备102和服务器104所构成的硬件环境中。如图3所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种微服务开发平台,用于业务系统的开发,其特征在于,包括:
后端服务开发单元,以脚手架为所述业务系统的开发提供代码模板;
前端服务开发单元,以节点包管理工具形式为所述业务系统的开发提供微服务组件;
所述微服务组件包括:
微服务功能单元,用于为所述业务系统提供对应的功能;以及
API管理单元,用于将微服务封装为API接口以供所述业务系统调用。
2.根据权利要求1所述的微服务开发平台,其特征在于,
所述平台还包括交互界面;
所述脚手架包括脚手架代码生成模块,
其中,所述交互界面接收开发人员的代码生成请求指令,所述脚手架代码生成模块根据所述代码生成请求指令生成对应的代码模板。
3.根据权利要求2所述的微服务开发平台,其特征在于,
所述代码生成模块包括数据库操作代码生成模块,其中,响应于开发人员在所述交互界面上的数据源选择指令、数据库选择指令以及表结构选择指令,所述数据库操作代码生成模块生成增删改查代码模板;和/或
所述代码生成模块包括前端代码生成模块,其中,响应于开发人员在所述交互界面上对目标控件的拖拽指令,所述前端代码生成模块生成前端代码模板。
4.根据权利要求1所述的微服务开发平台,其特征在于,所述脚手架还包括:
国际化配置模块,用于在所述代码模板中配置所需的国际化语言;和/或
单点登录模块,用于在所述代码模板中提供对多个微服务调用的单点登录功能;和/或
导入导出模块,用于在所述代码模板中提供对数据库的数据导入导出功能。
5.根据权利要求1所述的微服务开发平台,其特征在于,所述微服务功能单元包括:
服务注册发现模块,其中通过调用所述服务注册发现模块实现对微服务的注册和发现,从而记录和管理服务与服务实例地址的映射关系;和/或
服务治理模块,其中通过调用所述服务治理模块对微服务进行全生命周期管理;和/或
服务监控模块,其中通过调用所述服务监控模块在微服务的服务依赖的调用过程中,对服务延迟和故障提供容错机制和服务监控;和/或
日志管理模块,其中通过调用所述日志管理模块对产生的工作日志进行监控和分析;和/或
用户权限管理模块,其中通过调用所述用户权限管理模块统一管理用户访问微服务的权限;
交互界面配置模块,其中通过调用所述交互界面配置模块生成交互界面配置信息并从数据库中获取相应的业务信息,从而将所述交互界面配置信息和所述业务信息返回所述交互界面进行渲染;和/或
报表服务模块,其中通过调用所述报表服务模块提供报表服务;和/或
配置中心模块,其中通过调用所述配置中心模块对微服务的配置信息进行统一管理;和/或
链路跟踪模块,其中通过调用所述链路跟踪模块收集微服务的请求链路的跟踪数据,从而确定出发生故障的链路或微服务;和/或
任务调度模块,其中通过调用所述任务调度模块对微服务之间的调用进行路由转发。
6.根据权利要求1所述的微服务开发平台,其特征在于,所述微服务功能单元包括:
文件服务模块,其中通过调用所述文件服务模块统一管理产生的文件,从而为用户提供文件和目录上传和/或下载服务;和/或
消息服务模块,其中通过调用所述消息服务模块根据在交互界面上配置的消息发送规则向用户提供消息通知服务;和/或
流程引擎模块,其中通过调用所述流程引擎模块根据在交互界面上绘制的流程节点生成并执行审批流程;和/或
规则引擎模块,其中通过调用所述规则引擎模块根据在交互界面上设置的业务逻辑规则生成并执行业务逻辑。
7.根据权利要求1所述的微服务开发平台,其特征在于,API管理单元包括:服务网关,被配置为实现对接收到的微服务调用请求的统一接入、协议适配、安全验证以及路由中的一种或多种功能。
8.一种利用权利要求1-7中任一项所述的微服务开发平台进行业务系统开发的方法,其特征在于,包括:
响应于开发人员的代码生成请求指令,所述后端服务开发单元生成对应的代码模板;
根据所述业务系统开发的需求,从所述前端服务开发单元中选择所需的微服务组件;以及
将所述代码模板和所述微服务组件导入开发人员所使用的开发环境进行二次开发。
9.根据权利要求8所述的业务系统开发方法,其特征在于,所述响应于开发人员的代码生成请求指令,所述后端服务开发单元生成对应的代码模板,包括:
交互界面接收开发人员的代码生成请求指令;
脚手架代码生成模块根据所述代码生成请求指令生成对应的代码模板。
10.根据权利要求8所述的业务系统开发方法,其特征在于,所述从所述前端服务开发单元中选择所需的微服务组件,包括:
通过API管理单元从所述前端服务开发单元调用所需的微服务功能单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211663259.5A CN116048467A (zh) | 2022-12-23 | 2022-12-23 | 微服务开发平台及业务系统开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211663259.5A CN116048467A (zh) | 2022-12-23 | 2022-12-23 | 微服务开发平台及业务系统开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048467A true CN116048467A (zh) | 2023-05-02 |
Family
ID=86124935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211663259.5A Pending CN116048467A (zh) | 2022-12-23 | 2022-12-23 | 微服务开发平台及业务系统开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048467A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541441A (zh) * | 2023-05-22 | 2023-08-04 | 广西壮族自治区环境信息中心 | 一种基于微服务的生态环境中台系统 |
CN116679910A (zh) * | 2023-05-23 | 2023-09-01 | 中电金信软件有限公司 | 基于领域驱动设计的工程脚手架生成方法、装置和设备 |
CN117093187A (zh) * | 2023-08-02 | 2023-11-21 | 广州盈风网络科技有限公司 | 后台管理系统的开发方法、装置、设备及存储介质 |
CN118227104A (zh) * | 2024-04-28 | 2024-06-21 | 国任财产保险股份有限公司 | 一种基于车商的微服务管理系统 |
-
2022
- 2022-12-23 CN CN202211663259.5A patent/CN116048467A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541441A (zh) * | 2023-05-22 | 2023-08-04 | 广西壮族自治区环境信息中心 | 一种基于微服务的生态环境中台系统 |
CN116541441B (zh) * | 2023-05-22 | 2024-05-24 | 广西壮族自治区环境信息中心 | 一种基于微服务的生态环境中台系统 |
CN116679910A (zh) * | 2023-05-23 | 2023-09-01 | 中电金信软件有限公司 | 基于领域驱动设计的工程脚手架生成方法、装置和设备 |
CN116679910B (zh) * | 2023-05-23 | 2024-04-05 | 中电金信软件有限公司 | 基于领域驱动设计的工程脚手架生成方法、装置和设备 |
CN117093187A (zh) * | 2023-08-02 | 2023-11-21 | 广州盈风网络科技有限公司 | 后台管理系统的开发方法、装置、设备及存储介质 |
CN117093187B (zh) * | 2023-08-02 | 2024-04-16 | 广州盈风网络科技有限公司 | 后台管理系统的开发方法、装置、设备及存储介质 |
CN118227104A (zh) * | 2024-04-28 | 2024-06-21 | 国任财产保险股份有限公司 | 一种基于车商的微服务管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495308B (zh) | 一种基于管理信息系统的自动化运维系统 | |
CN116048467A (zh) | 微服务开发平台及业务系统开发方法 | |
US7124289B1 (en) | Automated provisioning framework for internet site servers | |
US8019835B2 (en) | Automated provisioning of computing networks using a network database data model | |
US7152109B2 (en) | Automated provisioning of computing networks according to customer accounts using a network database data model | |
CN111930355B (zh) | 一种web后端开发框架及其构建方法 | |
CN110971614A (zh) | 物联网适配方法、系统、计算机设备及存储介质 | |
CN109714192A (zh) | 一种监控云平台的监控方法及系统 | |
US8250570B2 (en) | Automated provisioning framework for internet site servers | |
US7152104B2 (en) | Method and apparatus for notifying administrators of selected events in a distributed computer system | |
CN111861140B (zh) | 一种业务处理方法、装置、存储介质和电子装置 | |
US20020158900A1 (en) | Graphical user interfaces for network management automated provisioning environment | |
US20020158898A1 (en) | Graphical user interfaces for viewing and configuring devices in an automated provisioning environment | |
JP7453426B2 (ja) | ネットワーク管理システム、方法、装置及び電子機器 | |
CN107483245A (zh) | 一种基于karaf_agent的主动采集实现装置 | |
CN100512158C (zh) | 网络测量体系结构及其实现测量的方法 | |
CN110138876A (zh) | 任务部署方法、装置、设备及平台 | |
US8326913B2 (en) | Method and system for service contract discovery | |
US20200137057A1 (en) | Feedback framework | |
CN113312242B (zh) | 接口信息管理方法、装置、设备及存储介质 | |
CN113220480B (zh) | 分布式的数据任务跨云调度系统及方法 | |
US11425172B2 (en) | Application security for service provider networks | |
Rathore et al. | Maintaining SmartX multi‐view visibility for OF@ TEIN+ distributed cloud‐native edge boxes | |
CN103067507A (zh) | 互联网云计算资源虚拟化封装系统及方法 | |
CN103414717A (zh) | 一种关于c/s结构业务系统的仿真监控方法和系统 |
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 |