1.7. 使用 Kafka Connect 转换器向外部系统流传输数据
您可以将 Service Registry 与 Apache Kafka Connect 搭配使用,在 Kafka 和外部系统间流数据。使用 Kafka Connect,您可以为不同的系统定义连接器,将大量数据移出基于 Kafka 的系统。
图 1.3. Service Registry 和 Kafka Connect 架构
Service Registry 为 Kafka Connect 提供了以下功能:
- Kafka 连接模式存储
- Kafka Connect converters for Apache Avro 和 JSON Schema
- 用于管理模式的 registry REST API
您可以使用 Avro 和 JSON 架构转换器将 Kafka Connect 模式映射到 Avro 或 JSON 模式。这些模式随后可以将消息键和值序列化为紧凑 Avro 二进制格式或人类可读的 JSON 格式。转换的 JSON 也不详细,因为消息不包含 schema 信息,只包含 schema ID。
Service Registry 可以管理和跟踪 Kafka 主题中使用的 Avro 和 JSON 模式。由于模式存储在 Service Registry 中,并与消息内容分离,每种消息必须只包含 tiny 模式标识符。对于类似 Kafka 的 I/O 绑定系统,这意味着生产者和消费者的更多吞吐量。
Service Registry 提供的 Avro 和 JSON 架构序列化rs 和 deserializers(SerDes)也由 Kafka 生产者和消费者使用。您编写为消耗更改事件的 Kafka 消费者应用程序可以使用 Avro 或 JSON Serde 来反序列化这些更改事件。您可以将这些 SerDes 安装到任何基于 Kafka 的系统,并将它们与 Kafka Connect 一起使用,或者与基于 Kafka Connect 的系统(如 Debezium 和 Camel Kafka Connector)一起使用。