12.4. 配置通知以报告连接器状态
Debezium 通知提供了一种机制来获取连接器的状态信息。通知可以发送到以下频道:
- SinkNotificationChannel
- 通过 Connect API 向配置的主题发送通知。
- LogNotificationChannel
- 通知附加到日志中。
- JmxNotificationChannel
- 通知作为 JMX bean 中的属性公开。
- 有关 Debezium 通知的详情,请查看以下主题
12.4.1. Debezium 通知的格式描述 复制链接链接已复制到粘贴板!
通知消息包含以下信息:
属性 | Description |
---|---|
id |
分配给通知的唯一标识符。对于增量快照通知, |
aggregate_type | 与通知相关的聚合根的数据类型。在域驱动的设计中,导出的事件应始终引用聚合。 |
type |
提供有关 |
additional_data | 一个 Map<String,String>,其中包含有关通知的详细信息。例如,请参阅 Debezium 通知有关增量快照的进度。 |
12.4.2. Debezium 通知的类型 复制链接链接已复制到粘贴板!
Debezium 通知提供有关 初始快照 或增量快照 进度的信息。
有关初始快照状态的 Debezium 通知
以下示例显示了提供初始快照状态的典型通知:
{ "id": "5563ae14-49f8-4579-9641-c1bbc2d76f99", "aggregate_type": "Initial Snapshot", "type": "COMPLETED" }
{
"id": "5563ae14-49f8-4579-9641-c1bbc2d76f99",
"aggregate_type": "Initial Snapshot",
"type": "COMPLETED"
}
- 1
- type 字段可以包含以下值之一:
-
完成
-
中止
-
SKIPPED
-
12.4.2.1. 示例: Debezium 通知,该通知报告增量快照的进度 复制链接链接已复制到粘贴板!
下表显示了在通知中报告增量快照状态的不同有效负载示例:
Status | payload |
---|---|
Start |
|
paused |
|
resumed |
|
stopped |
|
处理块 |
|
快照为表完成 |
|
完成 |
|
12.4.3. 启用 Debezium 将事件发送到通知频道 复制链接链接已复制到粘贴板!
要启用 Debezium 来发出通知,请通过设置 notification.enabled.channels
配置属性来指定通知频道列表。默认情况下,提供了以下通知频道:
-
sink
-
log
-
jmx
要使用 sink
通知频道,还必须将 notification.sink.topic.name
配置属性设置为您要 Debezium 发送通知的主题名称。
12.4.3.1. 启用 Debezium 通知以报告通过 JMX Bean 公开的事件 复制链接链接已复制到粘贴板!
要启用 Debezium 报告通过 JMX Bean 公开的事件,请完成以下步骤:
- 启用 JMX MBean 服务器 以公开通知 bean。
-
在连接器配置中的
notification.enabled.channels
属性中添加jmx
。 - 将您的首选 JMX 客户端连接到 MBean 服务器。
通知通过带有名称 debezium. <connector-type> .management.notifications. < server
> 的 bean 的 Notifications
属性公开。
下图显示了报告增量快照开始的通知:
要丢弃通知,请在 bean 上调用 reset
操作。
该通知也作为 JMX 通知公开,类型为 debezium.notification
。要让应用程序侦听 MBean 发出的 JMX 通知,请将 应用程序订阅到通知。