1
XDJI 2020-12-07 16:44:23 +08:00
额 看了下这些修改都是数据库的吗 如果是的话像 mysql 监听 binlog 有变动发 mq 消费端做清洗或使用可以吗
|
2
guisheng 2020-12-07 16:47:51 +08:00
同意楼上的做法,开启 binlog 根据日志去清洗成你想要的结构放入队列就好了。
|
3
qiayue 2020-12-07 16:51:15 +08:00
日志写到数据库中,那么流量一大,你的数据库就会亚历山大
|
4
KouShuiYu OP 日志里面还需要记录 ip 和那个用户操作的的信息,用 binlog 应该不行吧,我看 binlog 描述是不包含这些信息
|
5
KouShuiYu OP |
6
XDJI 2020-12-07 17:04:29 +08:00
@KouShuiYu 哦哦 那就有点像 trace 了 java 可以开 aop 记录到队列里(注意性能 比如用 Disruptor ) 然后开一个上报线程每隔 5s 进行上报 (发到 mq 或直接消费 比较偏向发 mq )。然后消费端做使用或者清洗。主要就是和服务解耦,要评估下日志量和请求量看看采用啥组件比较好
|
7
XDJI 2020-12-07 17:06:04 +08:00
如果不想引入 mq 可以专门弄个接日志的服务去处理 然后针对不同环境配不同日志上报 ip
|
8
Aviciii 2020-12-07 17:07:04 +08:00
我也遇到过,要记录表单某个字段的修改历史,修改前后的信息都要记录,印象里是用了对象属性值对比去做的,比较笨
|
9
svipchao 2020-12-07 17:12:58 +08:00
监控 SQL 语句?去除无效请求参数,只监控增删改,然后记录请求参数,这样的话就没必要记录旧值了,每次增删改都会有记录
|
10
cheng6563 2020-12-07 17:21:59 +08:00
就这样做没啥问题,注意一下不要因为日志表挂了导致主要业务也挂了就行了。
|
11
tiedan 2020-12-07 19:33:14 +08:00
单独写个小系统 消费日志来做
|
12
MaxFang 2020-12-07 21:42:41 +08:00
简单的可以放到单独的消息里面,一个小系统来处理。这样做的好处是,多系统方便接入(不用每个系统都写一套),日志接入不侵入系统,方便后续接入其他的日志。
|