6 API与SPI
6.1 Debezium引擎
Debezium 连接器通常通过将它们部署到 Kafka Connect 服务并配置一个或多个连接器来监控上游数据库并为它们在上游数据库中看到的所有更改生成数据更改事件来操作。这些数据更改事件被写入 Kafka,在那里它们可以被许多不同的应用程序独立使用。Kafka Connect 提供出色的容错性和可扩展性,因为它作为分布式服务运行,并确保所有已注册和配置的连接器始终运行。例如,即使集群中的一个 Kafka Connect 端点出现故障,其余的 Kafka Connect 端点也会重新启动之前在现在终止的端点上运行的任何连接器,从而最大限度地减少停机时间并消除管理活动。
并非每个应用程序都需要这种级别的容错和可靠性,他们可能不想依赖外部的 Kafka 代理集群和 Kafka Connect 服务。相反,一些应用程序更愿意将Debezium 连接器直接嵌入到应用程序空间中。他们仍然想要相同的数据更改事件,但更愿意让连接器将它们直接发送到应用程序,而不是在 Kafka 中持久化它们。
该debezium-api 模块定义了一个小型 API,允许应用程序使用 Debezium Engine 轻松配置和运行 Debezium 连接器。
依赖项
要使用 Debezium Engine 模块,请将debezium-api 模块添加到应用程序的依赖项中。模块中有一个开箱即用的 API 实现,debezium-embedded 也应该添加到依赖项中。对于 Maven,这需要将以下内容添加到应用程序的 POM:
|