1.7. Kafka Connect 변환기를 사용하여 외부 시스템으로 데이터 스트리밍
Apache Kafka Connect와 함께 서비스 레지스트리를 사용하여 Kafka와 외부 시스템 간에 데이터를 스트리밍할 수 있습니다. Kafka Connect를 사용하면 다양한 시스템에 대한 커넥터를 정의하여 Kafka 기반 시스템으로 대량의 데이터를 이동할 수 있습니다.
그림 1.3. 서비스 레지스트리 및 Kafka Connect 아키텍처
Service Registry에서는 Kafka Connect에 대한 다음 기능을 제공합니다.
- Kafka Connect 스키마용 스토리지
- Apache Avro 및 JSON 스키마용 Kafka Connect 컨버터
- 스키마를 관리하기 위한 코어 레지스트리 API
Avro 및 JSON 스키마 변환기를 사용하여 Kafka Connect 스키마를 Avro 또는 JSON 스키마에 매핑할 수 있습니다. 이러한 스키마는 메시지 키와 값을 컴팩트한 Avro 바이너리 형식 또는 사람이 읽을 수 있는 JSON 형식으로 직렬화할 수 있습니다. 메시지에 스키마 정보만 포함되어 있지 않기 때문에 변환된 JSON도 덜 상세합니다.
서비스 레지스트리는 Kafka 주제에서 사용되는 Avro 및 JSON 스키마를 관리하고 추적할 수 있습니다. 스키마는 서비스 레지스트리에 저장되고 메시지 콘텐츠와 분리되므로 각 메시지에는 작은 스키마 식별자만 포함해야 합니다. Kafka와 같은 I/O 바인딩 시스템의 경우 생산자 및 소비자에게 더 많은 총 처리량을 의미합니다.
Service Registry에서 제공하는 Avro 및 JSON Schema serializers 및 deserializers (SerDes)는 이 사용 사례에서 Kafka 생산자 및 소비자가 사용합니다. 변경 이벤트를 사용하기 위해 작성하는 Kafka 소비자 애플리케이션은 Avro 또는 JSON SerDes를 사용하여 이러한 변경 이벤트를 역직렬화할 수 있습니다. 이러한 SerDes를 Kafka 기반 시스템에 설치하고 Kafka Connect와 함께 사용하거나 Debezium 및 Camel Kafka Connector와 같은 Kafka Connect 기반 시스템과 함께 사용할 수 있습니다.