我可以在下面的json中看到,我们在所有写给Kafka的jason中都得到了xid。
{"database":"TEST","table":"MAXWELL","type":"insert","ts":1234811111,"**xid**":2009527,"commit":true,"data":{"id":2,"name":"test"}}
我想知道的是,
对于每个事件,这个xid是唯一的吗?这样我就可以让您使用这个xid来唯一地标识数据库事件。
这甚至是出于某种原因的怨恨,事件会有相同的xid吗?
注意:我试图通过手动更改positions.binlog\u位置并在新服务器中启动一个新的maxwell示例来重新发送相同的事件。我从新的maxwell示例中得到了相同事件的相同xid。
1条答案
按热度按时间1wnzp6jl1#
xid来自mysql的binlog,对应于innodb的“事务id”。它对事务是唯一的,但仅在正在运行的服务器的上下文中。