目前有个需求,需要 Java 程序中,监控到某几张表的数据变更
比如,A 表新增了一条记录,然后我这边 Java 能收到通知,有没有比较轻量级的方案呢?
目前是用的 canal 订阅 binlog 来实现的,但是遇到 canal 线上服务器 CPU 100%,而且不太稳定。
目前有个需求,需要 Java 程序中,监控到某几张表的数据变更
比如,A 表新增了一条记录,然后我这边 Java 能收到通知,有没有比较轻量级的方案呢?
目前是用的 canal 订阅 binlog 来实现的,但是遇到 canal 线上服务器 CPU 100%,而且不太稳定。
|
1
where update_time >= xxxx 呗
|
|
KymairSep 15, 2021
2
|
|
zealinuxSep 15, 2021
3
A 表新增记录后,发一条通知到 MQ 。
Java 应用订阅这个 |
|
4
@Morriaty 这是个思路,谢谢
|
|
5
要求是不改造原有业务
|
|
6
@Kymair maxwell 这个是不是比 canal 要轻量一些呢
|
|
leorealmanSep 15, 2021
7
|
|
taowenSep 15, 2021
8
|
|
xioSep 15, 2021
9
Postgres 的话可以 pg_notify 来做 pub/sub,不确定其他数据库有么有类似的功能
|
|
mmdsunSep 15, 2021 via Android
10
一个开源工具 mysql-binlog-connector-java,用来监控 binlog,Java 语言。
https://github.com/shyiko/mysql-binlog-connector-java |
|
beginorSep 15, 2021 via Android
11
做个 trigger,在 trigger 里面发 http 请求?
|
|
azkabanSep 15, 2021
12
从库 binlog,flink cdc,里面写逻辑就行了
|
|
bthuluSep 16, 2021
13
不要用 canal 啊,手写 binlog 解析器就好了
|