json中的麦克斯韦尔xid写入按摩队列

时间:2016-07-03 12:59:12

标签: apache-kafka maxwell bigdata

我可以在下面的json中看到我们在写入kafka的所有jasons中得到一个xid。

{"database":"TEST","table":"MAXWELL","type":"insert","ts":1234811111,"**xid**":2009527,"commit":true,"data":{"id":2,"name":"test"}}

我想知道的是,

  1. 这个xid是否对每个事件都是唯一的。所以我可以通过xid来唯一地标识数据库事件。
  2. 这甚至因某种原因而重新发生,事件是否会发生 同样的xid?
  3. 注意:我尝试通过手动更改positions.binlog_positions并在新服务器中启动新的maxwell实例来重新发送相同的事件。我从新的麦克斯韦实例中得到了相同的xid。

1 个答案:

答案 0 :(得分:2)

xid 来自mysql的binlog,对应于innodb" transaction_id"。它对事务是唯一的,但仅限于正在运行的服务器的上下文。