outbox-pattern - OutBox 模式 - 重用记录是否有缺点
问题描述
我正在阅读 OutBox 模式实现,它在表中创建记录,然后 debezium 连接器读取 bin-log 以将这些更改发布到 Kafka。这会引发一个问题,即在添加记录(并写入 bin 日志)之后,它只会占用存储空间,并且表会变得非常大。有几种清理旧记录的方法,例如按日期删除分区、创建后删除或 DbTriggers 删除记录)
我的建议是,我会在这个表中预先创建 1,000,000 条记录,每次只随机更新一条记录。debezium 功能将保留,我将避免删除旧记录。
除了为那些 1M 记录支付固定的存储空间。还有其他理由避免这种方法吗?
解决方案
您可以立即删除记录,Debezium 只会捕获事件的插入并忽略删除。这样,您的发件箱表将始终有效地显示为空,但 Debezium 仍会从 binlog 中获取事件。这也是Debezium Quarkus 扩展实现发件箱模式的默认行为。
推荐阅读
- linux - 无法将工作节点连接到 Kubernetes 集群
- php - 如何使用 PHP 制作规范
- java - 在特定范围内生成随机 LocalTime
- three.js - Aframe:模型大小
- python-3.x - sklearn:Pandas Dataframe vs Numpy ndarray - 保存不同数据类型的 [600k * 1k] 数据更有效
- google-maps - 谷歌静态地图 API 规模和大小
- apache-spark - 将 JSON 记录过滤到不同的数据集 Spark-Java
- python - 使用python获取文件.txt的参数
- android - 应用程序终止并重新启动服务时继续播放 andorid 媒体播放器
- c - C libpcap API 将数据包转换为结构(令人困惑)