了解 Debezium

Ale*_*lex 2 debezium

提供了一个用例:

流处理架构;事件进入 Kafka,然后由带有 MongoDB 接收器的作业进行处理。

数据库名称:myWebsite 集合:users

并且该作业会将user记录放入users集合中。

  1. 那么 Debezium 将监视users集合的变化,并且在每次变化时,都会将有关该主题的事件生成到 Kafka 中dbserver1.myWebsite.users?假设dbserver1是连接器的名称。
  2. 如果是这样,那么我可以有一个 Kafka 消费者从主题中消费dbserver1.myWebsite.users并对这些事件做出反应吗?
  3. 据我了解,Debezium 产生的事件也包含数据库记录的值?如果它的更改包含旧/新值?如果创建了一条数据库记录,旧的记录是否为空?

我想要某种形式来确认我到目前为止的理解。谢谢你!

Jir*_*nec 5

答案很简单

  1. 是的
  2. 是的,它可以是任意的k​​afka消费者或Kafka流,或者您可以使用KSQL查询它
  3. before是的,Debezium 记录由(不仅是)旧值 ( ) 和新after值 ( )组成。如果INSERT只有after存在,则UPDATEbeforeafter存在(Postgres 需要对其进行特殊设置),如果DELETE只有before存在。