本发明专利技术提供一种跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法与系统,在多业务拆分服务和分库环境下,所有业务微服务只需要通过Maven依赖引入日志框架,日志框架自动被springboot容器进行全生命周期管理:业务层通过Controller层日志注解配置;日志服务通过AOP切面获取注解以及注解参数,即可实现所有业务服务的日志统计记录。通过本发明专利技术,解决跨平台多服务架构模式下,业务分服务分库情况下日志统一记录和管理,并且对业务代码无侵入,无重复开发工作量,真正实现无耦合性开箱即用无限扩展的多业务服务日志统一收集和管理。管理。管理。
【技术实现步骤摘要】
跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法与系统
[0001]本专利技术涉及分布式微服务数据同步
,具体而言涉及一种跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法与系统。
技术介绍
[0002]现有技术方案在c#微服务框架netcore+java微服务springcloud多服务架构协同开发下,基于业务拆分服务和分库下,不同业务微服务产生的日志统一记录汇总到一个日志数据库下进行管理,需要采用多数据源的方式往多个数据库写日志数据,或者采用多服务调用的方式来同步日志数据,其中图1示例性地表示了现有的日志数据同步管理方案,首先由springcloud微服务客户端通过网络发起服务调用请求,通过springcloud gateway路由跳转到对应的业务服务,业务服务进行日志写入自己的数据库,同时往日志数据库里面写日志数据或者通过服务调用的方式往日志库里面写日志。
[0003]然而,在实际操作中,现有的方案存在重复开发工作量和不易扩展和维护的缺陷。每增加一个服务,就需要每一个微服务的业务service重复开发一套写日志方法。日志方法出现问题,需要将所有的业务服务全部修改一遍,当业务服务和数据库越来越多时,重复工作量会越来越大,并且服务难以维护。
技术实现思路
[0004]根据本专利技术目的,提出一种跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法,在多业务拆分服务和分库环境下,业务微服务被设置通过Maven依赖配置文件引入日志框架;所述日志框架自动被springboot容器进行全生命周期管理,其中,
[0005]业务层通过Controller层日志注解配置,日志服务通过AOP切面获取注解以及注解参数,由此实现所有业务服务的日志统计记录。
[0006]其中,作为可选的方式,所述业务日志收集管理方法具体包括以下步骤:
[0007]步骤1、日志框架common
‑
log配置成以jar包和maven依赖方式导入业务服务;
[0008]步骤2、业务服务启动时,整个日志框架注解驱动,系统切面装饰器AspectManager、日志切面RecordLogAspect以及日志业务处理LogService全部交由springboot容器进行全生命周期管理。
[0009]其中,业务服务启动后,只需要在Controller层记录日志的方法过程中,配置日志注解以及注解参数。
[0010]作为可选的方式,业务服务通过Http请求到达Controller层的业务方法(Method),日志框架通过系统切面管理器的切点配置Controller层,判断是否存在日志注解,如果存在日志注解,则转入日志框架(common
‑
log)内部处理流程;
[0011]否则,调用服务方法,通过DAO接口和MAPPER接口,进入数据库中。
[0012]作为可选的方式,在日志框架(common
‑
log)内部处理流程中,日志切面
RecordLogAspect获取到日志注解,进行日志注解解析,调用LogService完成日志信息写入日志数据库。
[0013]由此,通过本专利技术的跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法,解决跨平台多服务架构模式下,业务分服务分库情况下日志统一记录和管理,并且对业务代码无侵入,无重复开发工作量,可真正实现无耦合性开箱即用无限扩展的多业务服务日志统一收集和管理。
附图说明
[0014]附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本专利技术的各个方面的实施例,其中:
[0015]图1是现有技术方案多业务服务下日志数据同步管理的示例。
[0016]图2是本专利技术示例性实施例的日志收集管理的示例。
[0017]图3是本专利技术示例性实施例的日志收集内部处理流程示例。
具体实施方式
[0018]为了更了解本专利技术的
技术实现思路
,特举具体实施例并配合所附图式说明如下。
[0019]在本公开中参照附图来描述本专利技术的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本专利技术的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本专利技术所公开的构思和实施例并不限于任何实施方式。另外,本专利技术公开的一些方面可以单独使用,或者与本专利技术公开的其他方面的任何适当组合来使用。
[0020]根据现有技术存在的问题,本专利技术提出一种基于微服务依赖调用的日志服务框架集成方案,在多业务拆分服务和分库环境下,所有业务微服务只需要通过Maven依赖引入日志框架,日志框架就会自动被springboot容器进行全生命周期管理,业务层通过Controller层日志注解配置,日志服务通过AOP切面获取注解以及注解参数,即可实现所有业务服务的日志统计记录。
[0021]结合图2、3所示,本专利技术示例性的实施例的基于springcloud+netcore微服务业务协同开发框架下,实现所有业务服务无代码侵入和无开发工作量的业务日志收集和管理。
[0022]根据本专利技术的实施例的日志收集管理的处理步骤包括:
[0023]步骤1、日志框架common
‑
log配置成以jar包和maven依赖方式导入业务服务;
[0024]步骤2、业务服务启动时,整个日志框架注解驱动,系统切面装饰器AspectManager、日志切面RecordLogAspect以及日志业务处理LogService全部交由springboot容器进行全生命周期管理。
[0025]其中,业务服务启动后,只需要在Controller层记录日志的方法过程中,配置日志注解以及注解参数。
[0026]作为可选的方式,业务服务通过Http请求到达Controller层的业务方法(Method),日志框架通过系统切面管理器的切点配置Controller层,判断是否存在日志注解,如果存在日志注解,则转入日志框架(common
‑
log)内部处理流程;
[0027]否则,调用服务方法,通过DAO接口和MAPPER接口,进入数据库中。
[0028]作为可选的方式,在日志框架(common
‑
log)内部处理流程中,日志切面RecordLogAspect获取到日志注解,进行日志注解解析,调用LogService完成日志信息写入日志数据库。
[0029]结合图2、3示例流程的跨平台多服务架构模式下实现重用解耦的业务日志收集管理框架,包括:
[0030]HTTP请求接口,用于接收业务请求;
[0031]Eureka注册服务中心,用于提供服务注册、接口服务、服务发现等功能实现;
[003本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法,其特征在于,在多业务拆分服务和分库环境下,业务微服务被设置通过Maven依赖配置文件引入日志框架;所述日志框架自动被springboot容器进行全生命周期管理,其中,业务层通过Controller层日志注解配置,日志服务通过AOP切面获取注解以及注解参数,由此实现所有业务服务的日志统计记录。2.根据权利要求1所述的跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法,其特征在于,所述业务日志收集管理方法具体包括以下步骤:步骤1、日志框架common
‑
log配置成以jar包和maven依赖方式导入业务服务;步骤2、业务服务启动时,整个日志框架注解驱动,系统切面装饰器AspectManager、日志切面RecordLogAspect以及日志业务处理LogService全部交由springboot容器进行全生命周期管理。3.根据权利要求2所述的跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法,其特征在于,业务服务启动后,只需要在Controller层记录日志的方法过程中,配置日志注解以及注解参数。4.根据权利要求2所述的跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法,其特征在于,业务服务通过Http请求到达Controller层的业务方法(Method),日志框架通过系统切面管理器的切点配置Controller层,判断是否存在日志注解,如果存在日志注解,则转入日志框架(common
‑
log)内部处理流程;否则,调用服务方法,通过DAO接口和MAPPER接口,进入数据库中。5.根据权利要求2所述的跨平台多服务架构模式下实现重用解耦的业务日志收集管理方法,其特征在于,在日志框架(common
‑
log)内部处理流程中,日志切面RecordLogAspect获取到日志注解,进行日志注解解析,调用LogService完成日志信息写入日志数据...
【专利技术属性】
技术研发人员:郭现峰,吴畏,高怡,
申请(专利权)人:江苏普旭科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。