撸了个小轮子,将 Binlog 解析成 json 推送 kafka

2023-06-25 22:08:19 +08:00
 nodesolar

https://github.com/feiin/go-binlog-kafka

将 binlog 解析成 json 并推送 kafka 方便订阅消费

{
    "binlog_file": "mysql-bin.000052", // binlog file
    "log_pos": 3013167, // binlog position
    "action": "insert", // insert/update/delete/DDL action
    "table": "tests",  // 表名称
    "gtid": "68414ab6-fd2a-11ed-9e2d-0242ac110002:1-608",// GTID
    "schema": "tests", // 库名称
    "values": null, // insert/delete 时是对应行数据
    "before_values":{...} // update 变更前行数据
    "after_values":{...} // update 变更后行数据
}
1877 次点击
所在节点    Go 编程语言
8 条回复
leonhao
2023-06-25 22:33:09 +08:00
为啥不用 debezium
akira
2023-06-25 22:46:50 +08:00
刚好这两天在看 flink cdc ,你也可以看一下,挺好用的
vincent7245
2023-06-25 22:47:41 +08:00
这种轮子已经不少了,不过还是辛苦 OP 了
nodesolar
2023-06-25 23:15:45 +08:00
@vincent7245 嗯 造轮子玩...哈哈哈
nodesolar
2023-06-25 23:16:51 +08:00
@akira 嗯 以前也用过 flink
silentsky
2023-06-25 23:17:23 +08:00
为啥不用 maxwell
a33291
2023-06-26 09:32:59 +08:00
java 的话,就能直接拿着 debezium 中的组件直接内嵌到程序一起,不用单独去部署这么多东西,还是更方便一些.可惜.net 没有类似的工具,希望有一个.net 组件能够模拟 mysql 的从节点,这样就可以感知到数据变化(CDC)
julyclyde
2023-06-26 11:58:05 +08:00
不明白为什么 json
kafka 也不是只能处理文本内容吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/951603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX