了解 Debezium

Understanding Debezium

提供了一个用例:

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

数据库名称:myWebsite Collection: users

并且作业在 users collection 中接收 user 记录。

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

到目前为止,我想对我的理解进行某种确认。 谢谢!

答案很简单

  1. 可以,可以是任意的k​​afka consumer,也可以是Kafka stream,也可以用KSQL查询
  2. 是的,Debezium 记录由(不仅)旧值 (before) 和新值 (after) 组成。如果 INSERT 只有 afterUPDATE 的情况下 beforeafter 都存在(Postgres 需要一个特殊的设置)并且如果DELETE 只存在 before