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 を持ちますか?

:positions.binlog_positionsを手動で変更し、新しいサーバーで新しいmaxwellインスタンスを開始して、同じイベントを再送信しようとしました。新しい maxwell インスタンスから同じイベントに対して同じ xid を取得しました。

4

1 に答える 1

2

xidは mysql の binlog から取得され、innodb の「transaction_id」に対応します。トランザクションに固有ですが、実行中のサーバーのコンテキストでのみです。

于 2016-07-03T13:01:29.443 に答える