首页 > 解决方案 > OutBox 模式 - 重用记录是否有缺点

问题描述

我正在阅读 OutBox 模式实现,它在表中创建记录,然后 debezium 连接器读取 bin-log 以将这些更改发布到 Kafka。这会引发一个问题,即在添加记录(并写入 bin 日志)之后,它只会占用存储空间,并且表会变得非常大。有几种清理旧记录的方法,例如按日期删除分区、创建后删除或 DbTriggers 删除记录)

我的建议是,我会在这个表中预先创建 1,000,000 条记录,每次只随机更新一条记录。debezium 功能将保留,我将避免删除旧记录。

除了为那些 1M 记录支付固定的存储空间。还有其他理由避免这种方法吗?

标签: outbox-pattern

解决方案


您可以立即删除记录,Debezium 只会捕获事件的插入并忽略删除。这样,您的发件箱表将始终有效地显示为空,但 Debezium 仍会从 binlog 中获取事件。这也是Debezium Quarkus 扩展实现发件箱模式的默认行为。


推荐阅读