当前位置: 首页 > 知识库问答 >
问题:

带有AWS Kinesis-PostgreSQL快照加载和事务元数据流的Debezium嵌入式引擎

邬承悦
2023-03-14

我想使用Debezium嵌入式引擎和AWS Kinesis来加载PostgreSQL数据库的初始快照,然后连续执行CDC。

我知道,有了Kafka Connect,为了检查事务边界,我将有一个现成的事务元数据主题。

如果使用相同的Debezium嵌入式引擎和AWS Kinesis(https://Debezium.io/blog/2018/08/30/streaming-mysql-data-changes-into-Kinesis/),那么在这种情况下我会有Kinesis事务元数据流吗?另外,Debezium嵌入式引擎会对现有的PostgreSQL数据执行初始快照吗?

已更新

我用PostgreSQL实现了测试EmbeddedEngine应用程序

    engine = EmbeddedEngine.create()
            .using(config)
            .using(this.getClass().getClassLoader())
            .using(Clock.SYSTEM)
            .notifying(this::sendRecord)
            .build();

现在,在我的'send record(SourceRecord record)'方法中,我可以看到参与事务的每个数据库表的正确主题,例如:

private void sendRecord(SourceRecord record) {

    String streamName = streamNameMapper(record.topic());
    System.out.println("streamName: " + streamName);

结果转换为以下输出:

streamName: kinesis.public.user_states
streamName: kinesis.public.tasks

共有1个答案

商振
2023-03-14

如果您不是具体使用Debezium嵌入式引擎,那么Debezium本身提供了一个选项,它被称为Dewbezium服务器(在内部,我相信它使用了Debezium引擎)。它是一个很好的替代使用Kafaka,它支持Kinesis,Google PubSub,Apache Pulsar到目前为止,为CDC。

这里有一篇文章,您可以参考https://xyzcoder.github.io/2021/02/19/cdc-using-debezium-server-mysql-kinesis.html

 类似资料:
  • 我想在PostgreSQL数据库上使用Debezium进行变更数据捕获(CDC)。现在我还不完全理解如何处理Debezium的交易。 让我们考虑下面的例子--我在源PostgreSQL数据库中有2个表。我在单个数据库事务的范围内将数据插入到这两个表中。换句话说,我必须执行两个单独的语句。如果我理解正确,在Debezium CDC的情况下,它将导致两个单独的消息,两个单独的Kafka主题(或AWS

  • https://cloud.google.com/blog/products/data-analytics/how-to-how高效处理实时和聚合数据 用例说明步骤: 从pubsub获取流式原始事件。 验证接收的原始事件。 筛选特定类型的事件。 创建筛选事件的字典。 同时,将筛选的事件通过窗口操作传递并聚合。 2种输出类型-原始事件字典、聚合事件字典。 按照上面链接中解释的设计,原始事件字典属于低

  • 我在https://github.com/camunda/camunda-bpm-examples/tree/master/deployment/embedded-spring-rest上完成了这个项目,并尝试加载一个html表单,该表单包含在src/main/webapp/forms文件夹中。现在我只想在特定进程启动时加载表单。我尝试了几种方法,包括@RequestMapping注释,但当流程开

  • Google最终增加了对Cloudsql、postgresql逻辑复制/解码支持的支持。我正在尝试使用Debezium捕获数据库表上的更改,然后将json中的更改发布到Gcp PubSub。我使用带有Gcp Pubsub接收器的Debezium服务器只是为了验证连接是否工作,但不断得到以下错误消息 所以它似乎默认插件为,但是我在环境变量中设置了。根据这个文档https://hub.docker.c

  • 首次启动后,Debezium将对已经存在的数据进行初始数据快照。 假设我有两个表-和。表B对具有FK约束。根据Debezium的默认方法--Debezium将为表和中的数据创建两个单独的Kafka主题。 根据我的理解,我很有可能尝试在新表中创建记录,而适当的记录将不存在于适当的新表中。这样我就会遇到约束冲突错误。 例如-我是否可以使用Debezium主题路由https://Debezium.io/

  • 问题内容: 澄清: 这个问题是关于对基于JAX-WS的REST服务进行GZIP处理,但是我决定更改主题以使其更容易找到 我正在通过JAX-WS实现REST服务,并以标准方式发布它(原因是我想避免使用servlet容器或应用程序服务器)。 有办法让服务器gzip响应内容吗? 如何 实际提供的示例可以正常工作,它使您可以在没有servlet容器的嵌入式轻量级服务器上构建JAX-RS样式的服务器,但是需