咱们仍然不消AOP做操纵日记了

来源:千亿游戏平台 作者:千亿游戏网站

  用户正在操作咱们编造的经过中,针对极少紧张的营业数据举行增修削查的时期,咱们生机记实一下用户的操作手脚,以便发作题目时能实时的找到依照,这种日记便是营业编造的操作日记。

  用户登录日记紧张数据查问日记 (但电商或者不紧张的数据也做埋点,譬喻正在淘宝上你征采什么商品,尽管不买,一段工夫内首页也会给你推选雷同的东西)紧张数据改革日记 (如暗号改革,权限改革,数据编削等)数据删除日记......总结来说,便是紧张的增修削查遵照营业的须要来做操作日记的埋点。

  便宜:完成思绪方便;短处:填凑数据库的责任,强依赖前端的传参,阻挡易拓展,不支撑批量操作,不支撑多表干系;基于数据库Binlog

  便宜:排除了数据新旧改观的耦合,支撑批量操作,容易多表干系拓展,不依赖开拓言语;短处:数据库表计划须要团结的商定;计划完成细节

  守旧的做法便是切面+评释的式样,这种对代码的侵入性不强,平常记实ip、营业模块、操作账号、操作场景、操作出处等等,大凡正在评释+里这些值都拿取得,如下图所示:

  这种常见的咱们正在通用技巧都可能惩罚,可是正在数据改革方面,不停没有较好的完成式样,譬喻数据正在改革前是多少,改革后是多少。

  以咱们以前完成的一套计划来说,基于数据改革的记实式样不但要和需求方商定好模板(上百个字段的不或者都做浮现和记实),也要和前端做极少商定,譬喻正在编削之前的值是多少,编削后的值是多少,如下代码客观请看:

  1.旧值倘若不多查问一次数据库则须要依赖前端把旧值封装到oldData对象中,很有或者仍旧不是编削前的值;2.无法惩罚批量的List数据;3.不支撑多表操作;再以一个场景为例,再删除之前须要记实删除前的值,是不是还得再查一次~

  优化发送营业音尘的完成,应用切面拦截淘汰对营业代码的侵入;目前且则不支撑对多表干系操作日记记实,须要拓展;总结

  本文以操作日记为题材斟酌了操作日记的完成计划和可行性,而且都仍旧正在功用长举行完成,此中应用aop计划也是大部门中幼企业的首选完成计划,可是正在极少金融规模以及erp相干编造,对操作日记记实明细恳求极高,常见身手计划很难餍足,尽管或许餍足也会带来极少代码强侵入以及功能题目,因此咱们又斟酌了基于binlog完成的计划,该计划固然比对aop来说加强了身手的杂乱性,可是看待有肯定身手蕴蓄聚集的团队来说不算什么难事,而且该计划咱们都完成了上线,而且办理了代码层面上的侵入,属于跨言语级其余,信任对读者仍然有肯定的引导。

上一篇:配电室境况监控体系筑设清单及预算
下一篇:强一概高可用高职能漫衍式Log存储体系的计划与完毕