0

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

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

我想知道的是,

  1. 这个 xid 对于每个事件是唯一的吗?这样我就可以让你使用那个 xid 来唯一地标识一个数据库事件。
  2. 这甚至因某种原因而被怨恨,这些事件会具有相同的 xid 吗?

注意:我尝试通过手动更改 position.binlog_positions 并在新服务器中启动新的 maxwell 实例来重新发送相同的事件。我从新的 maxwell 实例中获得了相同事件的相同 xid。

4

1 回答 1

2

xid来自mysql的binlog,对应innodb的“transaction_id”。它是事务独有的,但仅限于正在运行的服务器的上下文中。

于 2016-07-03T13:01:29.443 回答