如何解决Google Cloud Spanner 通过 Cloud Data Fusion 或其他方式实时将数据捕获更改为 PubSub/Kafka
我想为我的下游实时应用程序实现从 Google Cloud Spanner 到 PubSub/Kafka 的实时变更数据捕获(基于日志的首选)管道。您能否告诉我是否有一种很好且具有成本效益的方法来实现这一目标?我将不胜感激任何建议和建议。
另外,对于google的Cloud Data Fusion,我注意到它可以实现从MysqL/postgresql到cloud spanner的实时,但是我没有找到从cloud spanner到pubsub/kafka实时的方法。
>另外,我还发现了另外两种方式,有任何意见或建议都列在这里。
- 使用 Debezium,这是一种基于日志的更改数据捕获 Kafka 连接器,来自链接 https://cloud.google.com/architecture/capturing-change-logs-with-debezium#deploying_debezium_on_gke_on_google_cloud
- 创建一个轮询服务(可能会遗漏一些数据)以从链接中的 Cloud Spanner 轮询数据:https://cloud.google.com/architecture/deploying-event-sourced-systems-with-cloud-spanner
如果您对此有任何建议或意见,我将不胜感激。
解决方法
这里有一个 Cloud Spanner 轮询服务的开源实现,它也可以自动将更改推送到 PubSub:https://github.com/cloudspannerecosystem/spanner-change-watcher
然而,它不是基于日志的。它有一些固有的局限性:
- 如果同一记录在轮询间隔内更新两次,则可能会错过更新。在这种情况下,只会报告最后一个值。
- 仅支持软删除。
您可以查看示例,看看它是否至少在某种程度上适合您的需求:https://github.com/cloudspannerecosystem/spanner-change-watcher/tree/master/samples
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。