Java 关于构建公共模块的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kikione
V2EX    Java

Java 关于构建公共模块的问题

  •  
  •   kikione 2021-10-09 14:37:07 +08:00 2267 次点击
    这是一个创建于 1543 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1,有两个业务模块 A 和 B 2,A 和 B 的 contronller 都需要记录日志去数据库 3,我想在 公共模块 C 用 AOP 去做。

    C 公共模块是不是需要连接数据库,配置一些信息。但是一般公共模块我看不配置的

    11 条回复    2021-10-09 18:02:49 +08:00
    JYii
        1
    JYii  
       2021-10-09 14:41:47 +08:00
    我缓缓打出一个?
    chendy
        2
    chendy  
       2021-10-09 14:41:54 +08:00
    C 模块自己不连数据库,用业务模块的数据库连接,或者数据源,或者其他什么东西注入给自己
    kikione
        3
    kikione  
    OP
       2021-10-09 15:05:30 +08:00
    @JYii 这块我不太清楚 所有提问的有点问题
    Edsie
        4
    Edsie  
       2021-10-09 15:25:51 +08:00
    C 模块注入数据库服务就行了吧
    Saurichthys
        5
    Saurichthys  
       2021-10-09 15:29:14 +08:00
    可以考虑 c 模块只是提供保存日志方法,给 A 和 B 进行调用,至于数据链接信息就在 A 和 B 的 web 项目初始化就行了呀
    fkdog
        6
    fkdog  
       2021-10-09 15:30:49 +08:00
    这种需求建议和业务代码解耦开来。
    1. 将日志写入 mq,mq 另一端写入数据库.
    2. 将日志写入磁盘文件,使用 filebeat 等工具进行采集
    3. 将日志写入做成一个 rpc 服务,分别给 A 和 B 去调用。
    wolfie
        7
    wolfie  
       2021-10-09 15:47:30 +08:00
    程序日志 logback 、log4j 那种直接生成日志文件。
    请求日志在网关拿。
    具体什么业务要在 AOP 记录
    JYii
        8
    JYii  
       2021-10-09 16:56:06 +08:00
    @kikione 日志模块 aop 写好逻辑,别的模块引入调用就完事了啊,是缺少 db 的依赖做不了一些事情吗
    Saxton
        9
    Saxton  
       2021-10-09 17:40:39 +08:00
    @fkdog 说的没错 业务逻辑的日志 可以用 MQ 储存到数据库 异步落地, 所有的模块只管推到 MQ, 普通的输出日志可以按照 @wolfie 说的生成文件, 要区分业务日志和输出日志,我们的系统就是这样的
    Saxton
        10
    Saxton  
       2021-10-09 17:44:23 +08:00
    @JYii 分布式吗,我感觉你的理解有一定偏差,你完全可以单独跑一个独立的日志服务,其他服务只管推送到 MQ,
    同时其他服务可以采用 AOP 的方式推入到 MQ,这样子就从逻辑层上解耦出来了
    kikione
        11
    kikione  
    OP
       2021-10-09 18:02:49 +08:00
    @JYii 明白了,我以为缺了 DB 做不了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2943 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 13:31 PVG 21:31 LAX 05:31 JFK 08:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86