Debezium系列之:mysql墓碑事件
一、mysql墓碑事件
- 删除操作由删除事件和随后的墓碑事件表示。
- 只发出一个删除事件。
- 删除源记录后,发出 tombstone 事件(默认行为)允许 Kafka 完全删除与已删除行的键相关的所有事件,以防主题启用日志压缩。
墓碑事件数据格式如下所示,包含主键id但value是空值:
ConsumerRecord(topic=‘debezium-prod-optics-prod_1h.optics_prod.optics_order’, partition=2, offset=3636705, timestamp=1656746091521, timestamp_type=0, key=b’{“schema”:{“type”:“struct”,“fields”:[{“type”:“int32”,“optional”:false,“field”:“order_id”}],“optional”:false,“name”:“debezium_prod_optics_prod_1h.optics_prod.optics_order.Key”},“payload”:{“order_id”:2752094}}', value=None, headers=[], checksum=None, serialized_key_size=223, serialized_value_size=-1, serialized_header_size=-1)
二、debezium参数控制是否产生墓碑事件
- tombstones.on.delete
- 在connector配置中设置此参数,参数为true,删除操作由删除事件和随后的墓碑事件表示。
- 参数为false,只发出一个删除事件。
- 默认为true