开云体育官方注册网址Debezium通知
概述
开云体育官方注册网址Debezium通知提供一种机制来获取状态信息的连接器。通知可以发送到以下渠道:
- SinkNotificationChannel
-
通过连接API发送通知到配置的主题。
- LogNotificationChannel
-
通知是添加到日志中。
- JmxNotificationChannel
-
通知被公开为JMX bean的一个属性。
- 自定义
-
通知被发送到一个自定义频道你实现。
开云体育官方注册网址Debezium通知格式
通知消息包含以下信息:
财产 | 描述 |
---|---|
id |
分配一个惟一的标识符的通知。增量快照通知的 |
aggregate_type |
的数据类型的聚合根相关通知。在领域驱动设计,导出事件应该指的是一个聚合。 |
类型 |
提供关于事件的状态信息中指定的 |
additional_data |
Map < String, String >详细信息的通知。例如,看到的开云体育官方注册网址Debezium通知进展的增量快照。 |
可用的通知
一个初始快照的状态
下面的示例显示了一个典型的通知,它提供了一个初始快照的状态:
{" id ": " 5563 ae14 - 49 - f8 - 4579 - 9641 - c1bbc2d76f99”、“aggregate_type”:“初始快照”,“类型”:“完成”(1)}
1 | 类型字段可以包含下列值之一:
|
开云体育官方注册网址Debezium通知进展的增量快照
下面的表显示了示例的通知,报告中可能存在不同的载荷增量快照的状态:
状态 | 有效载荷 | ||
---|---|---|---|
开始 |
|
||
停顿了一下 |
|
||
恢复 |
|
||
停止 |
|
||
处理块 |
|
||
快照完成表 |
|
||
完成 |
|
使Debezium开云体育官方注册网址通知
让Debezium发开云体育官方注册网址出通知,指定通知渠道通过设置的列表notification.enabled.channels
配置属性。默认情况下,以下通知渠道可供选择:
水槽
日志
jmx
使用 |
访问Debezium开云体育官方注册网址 JMX通知
启用Debezium开云体育官方注册网址报告事件通过JMX公开豆类,完成以下配置步骤:
支持JMX MBean服务器公开通知bean。
添加
jmx
到notification.enabled.channels
房地产在连接器配置。你喜欢的JMX客户机连接到MBean服务器。
通知是通过公开通知
bean的属性名称开云体育官方注册网址debezium。<连接器类型>.management.notifications。< server >
。
下图显示了一个通知,报告开始增量快照:
抛弃一个通知,叫的重置
操作bean。
通知也作为JMX公开通知型开云体育官方注册网址debezium.notification
。让应用程序侦听JMX MBean发出通知,订阅应用程序的通知。
自定义通知渠道
通知机制被设计成可扩展的。您可以根据需要实现渠道发送通知的方式最适合您的环境。添加一个通知渠道涉及几个步骤:
配置自定义通知渠道
自定义通知渠道实现的Java类io.开云体育官方注册网址debezium.pipeline.notification.channels.NotificationChannel
服务提供程序接口(SPI)。例如:
公共接口NotificationChannel{字符串名称();(1)空白init (CommonConnectorConfig配置);(2)无效发送通知(通知);(3)空白close ();(4)}
1 | 通道的名称。让Debezium使开云体育官方注册网址用渠道,指定这个名字的连接器notification.enabled.channels 财产。 |
2 | 初始化特定的配置、变量或连接通道要求。 |
3 | 发送通知的通道。开云体育官方注册网址Debezium调用这个方法来报告其状态。 |
4 | 关闭所有分配资源。开云体育官方注册网址Debezium连接器停止时调用这个方法。 |
开云体育官方注册网址Debezium核心模块依赖关系
一个定制的Java项目编译依赖Debezium通知渠道核心模块。开云体育官方注册网址你必须包括这些编译依赖在你的项目的pom.xml
文件,如以下示例所示:
<依赖> < groupId > io.debez开云体育官方注册网址ium < / groupId > < artifactId > debezium-core < / artifactId > <版本> $ {version.debezium} > < /版本(1)< / >的依赖
1 | $ {version开云体育官方注册网址.debezium} 代表Debezium连接器的版本。开云体育官方注册网址 |
声明您的实现的meta - inf /服务/ io.de开云体育官方注册网址bezium.pipeline.notification.channels.NotificationChannel
文件。
部署自定义通知渠道
你有一个定制的Java程序通知渠道。
使用通知渠道Debezium连接器,Java项目导出到一个JAR文件,并将开云体育官方注册网址文件复制到目录,包含每个Debezium连接器的JAR文件,你想使用它。
例如,在一个典型的部署,Debezium连接器文件存储在子目录的卡夫卡连接目录(开云体育官方注册网址卡夫卡/连接
),每个连接器JAR在它自己的子目录(卡夫卡/ / debezium开云体育官方注册网址-connector-db2连接
,卡夫卡/ / debezium开云体育官方注册网址-connector-mysql连接
等等)。使用一个信号通道连接器,转换器JAR文件添加到连接器的子目录。
使用一个自定义通知渠道与多个连接器,您必须通知渠道JAR文件的一个副本在每个连接器的子目录。 |