开云体育官方注册网址Debezium通知

概述

开云体育官方注册网址Debezium通知提供一种机制来获取状态信息的连接器。通知可以发送到以下渠道:

SinkNotificationChannel

通过连接API发送通知到配置的主题。

LogNotificationChannel

通知是添加到日志中。

JmxNotificationChannel

通知被公开为JMX bean的一个属性。

自定义

通知被发送到一个自定义频道你实现。

开云体育官方注册网址Debezium通知格式

通知消息包含以下信息:

财产 描述

id

分配一个惟一的标识符的通知。增量快照通知的id发送相同的吗execute-snapshot信号。

aggregate_type

的数据类型的聚合根相关通知。在领域驱动设计,导出事件应该指的是一个聚合。

类型

提供关于事件的状态信息中指定的aggregate_type字段。

additional_data

Map < String, String >详细信息的通知。例如,看到的开云体育官方注册网址Debezium通知进展的增量快照

可用的通知

开云体育官方注册网址Debezium通知交付的进度信息初始快照增量快照

一个初始快照的状态

下面的示例显示了一个典型的通知,它提供了一个初始快照的状态:

{" id ": " 5563 ae14 - 49 - f8 - 4579 - 9641 - c1bbc2d76f99”、“aggregate_type”:“初始快照”,“类型”:“完成”(1)}
1 类型字段可以包含下列值之一:
  • 完成

  • 流产

  • 跳过

开云体育官方注册网址Debezium通知进展的增量快照

下面的表显示了示例的通知,报告中可能存在不同的载荷增量快照的状态:

状态 有效载荷

开始

{" id ":“ff81ba59-15ea-42ae-b5d0-4d74f1f4038f”、“aggregate_type”:“增量快照”,“类型”:“开始”,“additional_data”: {“connector_name”:“连接器”、“data_collections”:“表1,表“}}

停顿了一下

{" id ": " 068 d07a5-d16b-4c4a-b95f-8ad061a69d51”、“aggregate_type”:“增量快照”,“类型”:“暂停”、“additional_data”: {“connector_name”:“连接器”、“data_collections”:“表1,表“}}

恢复

{" id ": " a9468204 - 769 d - 430 f - 96 - d2 - b0933d4839f3”、“aggregate_type”:“增量快照”,“类型”:“恢复”、“additional_data”: {“connector_name”:“连接器”、“data_collections”:“表1,表“}}

停止

{" id ": " 83 fb3d6c - 190 b - 4 - e40 - 96 eb - f8f427bf482c”、“aggregate_type”:“增量快照”,“类型”:“流产”,“additional_data”: {“connector_name”:“连接器”}}

处理块

{" id ": " d02047d6 - 377 f - 4 - a21 a4e9 cb6e817cf744”、“aggregate_type”:“增量快照”,“类型”:“IN_PROGRESS”、“additional_data”: {“connector_name”:“连接器”、“data_collections”:“表1,表二”、“current_collection_in_progress”:“表1”、“maximum_key”:“100”,“last_processed_key”: " 50 "}}

快照完成表

{" id ": " 6 d82a3ec ba86 - 4 b36 - 9168 - 7423 - b0dd5c1d”、“aggregate_type”:“增量快照”,“类型”:“TABLE_SCAN_COMPLETED”、“additional_data”: {“connector_name”:“连接器”、“data_collection”:“表1”、“total_rows_scanned”:“100”,“状态”:“成功”(1)}}
1 可能的值是:
  • 空——表是空的

  • NO_PRIMARY_KEY——表没有主键所必需的快照

  • 跳过,快照不支持这种类型的表,检查日志详情

  • SQL_EXCEPTION - SQL异常在处理一个快照

  • 成功——快照成功完成

  • UNKNOWN_SCHEMA——模式没有找到表,检查日志知道表的列表

完成

{" id ": " 6 d82a3ec ba86 - 4 b36 - 9168 - 7423 - b0dd5c1d”、“aggregate_type”:“增量快照”,“类型”:“完成”、“additional_data”: {“connector_name”:“连接器”}}

使Debezium开云体育官方注册网址通知

让Debezium发开云体育官方注册网址出通知,指定通知渠道通过设置的列表notification.enabled.channels配置属性。默认情况下,以下通知渠道可供选择:

  • 水槽

  • 日志

  • jmx

使用水槽通知渠道,您还必须设置notification.sink.topic.name配置属性的名字你想要Debezium发送通知的主题。开云体育官方注册网址

访问Debezium开云体育官方注册网址 JMX通知

启用Debezium开云体育官方注册网址报告事件通过JMX公开豆类,完成以下配置步骤:

  1. 支持JMX MBean服务器公开通知bean。

  2. 添加jmxnotification.enabled.channels房地产在连接器配置。

  3. 你喜欢的JMX客户机连接到MBean服务器。

通知是通过公开通知bean的属性名称开云体育官方注册网址debezium。<连接器类型>.management.notifications。< server >

下图显示了一个通知,报告开始增量快照:

JMX通知的属性字段

抛弃一个通知,叫的重置操作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文件的一个副本在每个连接器的子目录。

配置连接器使用自定义通知渠道

添加自定义通知通道的名称notification.enabled.channels配置属性。