Kafka Connect는 Kafka 개발자를 위한 데이터 통합에 권장되는 도구입니다. 데이터베이스, 메시지 대기열, 파일 시스템과 같은 외부 시스템과 Kafka를 연결하기 위한 프레임워크를 제공합니다.
Kafka Connect는 Google Cloud에서 검증하고 유지관리하는 선별된 기본 제공 커넥터 플러그인 세트를 제공합니다. 이러한 커넥터 플러그인은 자동으로 패치되고 업그레이드되므로 유지 관리가 간소화되고 호환성이 보장됩니다.Google Cloud 는 또한 파이프라인의 상태를 유지하기 위해 기본 제공 모니터링 및 로깅을 제공합니다.
Kafka Connect API는 Google Cloud Managed Service for Apache Kafka 서비스의 일부로 제공됩니다. 이러한 API는 managedkafka.googleapis.com를 통해 액세스할 수 있으며 Google Cloud 콘솔 및 클라이언트 라이브러리에 통합되어 있습니다. Kafka Connect를 관리하려면 Google Cloud 콘솔, gcloud CLI, 관리형 Kafka API, 클라우드 클라이언트 라이브러리 또는 Terraform을 사용하면 됩니다.
Kafka Connect 사용 사례
Kafka Connect는 Managed Service for Apache Kafka 클러스터와 다양한 기타 시스템 간의 데이터 통합을 지원합니다. 다음은 몇 가지 주요 사용 사례입니다.
기존 Kafka 배포를 Managed Service for Apache Kafka로 마이그레이션합니다.
재해 복구를 위해 Managed Service for Apache Kafka 클러스터를 다른 리전으로 복제합니다.
Managed Service for Apache Kafka에서 BigQuery, Cloud Storage, Pub/Sub로 데이터를 스트리밍합니다.
연결 클러스터
Connect 클러스터는 사전 패키징된 커넥터 플러그인 및 구성이 포함된 Kafka Connect의 분산형 배포입니다. 각 Connect 클러스터는 기본 Managed Service for Apache Kafka 클러스터와 연결됩니다. 이 기본 클러스터는 Connect 클러스터에서 실행되는 커넥터의 상태를 저장합니다.
일반적으로 기본 Managed Service for Apache Kafka 클러스터는 연결된 Connect 클러스터에서 실행되는 모든 소스 커넥터의 타겟이자 모든 싱크 커넥터의 소스 역할도 합니다.
단일 Managed Service for Apache Kafka 클러스터에는 여러 Connect 클러스터가 있을 수 있습니다. MirrorMaker 2.0을 실행하는 경우 Connect 클러스터는 기본이 아닌 Managed Service for Apache Kafka 클러스터 또는 자체 관리형 Kafka 클러스터에 연결하여 주제 데이터를 읽거나 쓸 수 있습니다. 이 프로세스를 사용하면 여러 클러스터 간에 주제 복제가 가능합니다.
리소스 모델의 관점에서 Connect 클러스터는 Managed Service for Apache Kafka 클러스터와 별도의 리소스입니다.
웹사이트 트래픽 데이터를 저장하는 Managed Service for Apache Kafka 클러스터가 있다고 가정해 보겠습니다. 이 데이터를 분석을 위해 BigQuery로 스트리밍하려고 합니다. Connect 클러스터를 만들고 BigQuery 싱크 커넥터를 사용하여 Kafka 주제에서 BigQuery로 데이터를 이동할 수 있습니다. 이 Connect 클러스터는 Managed Service for Apache Kafka 클러스터와 기본 클러스터로 연결되어 있습니다.
커넥터
커넥터는 Kafka 클러스터와 다른 시스템 간에 데이터를 전송하는 소프트웨어 구성요소입니다.
소스 커넥터는 소스의 데이터를 Managed Service for Apache Kafka 클러스터에 씁니다.
싱크 커넥터는 Managed Service for Apache Kafka 클러스터의 데이터를 싱크에 씁니다.
커넥터는 Connect 클러스터 내에서 배포, 구성, 관리됩니다. 시작, 중지, 일시중지, 다시 시작할 수 있으며 구성을 업데이트할 수 있습니다.
Managed Service for Apache Kafka에서 지원하는 커넥터 유형에 대해 자세히 알아보려면 커넥터 개요를 참고하세요.
Kafka Connect 관리
Kafka Connect를 사용하면 커넥터 배포에 집중할 수 있으며, Managed Service for Apache Kafka는 기본 인프라와 운영 복잡성을 처리합니다.
Kafka Connect 서비스는 다음을 자동화합니다.
Kafka Connect 작업자 프로비저닝: Connect 클러스터를 만들면 Kafka Connect 서비스가 Kubernetes에서 작업자 클러스터를 자동으로 프로비저닝합니다.
네트워킹: Kafka Connect 서비스는 작업자, Managed Service for Apache Kafka 브로커, 외부 시스템 간의 통신을 지원하도록 네트워크를 구성합니다. 경우에 따라 기존 네트워크 설정을 일부 변경해야 할 수 있습니다.
영역 복원력: Kafka Connect 서비스는 최소 3개 영역에 워커를 분산하여 영역 서비스 중단 시 데이터 처리가 계속 진행되도록 합니다.
인증: Kafka Connect 서비스는 Kafka 브로커와의 인증도 구성하여 보안 연결을 보장합니다.
출시 및 업그레이드: Kafka Connect 서비스는 작업자 구성 변경사항, 버전 업그레이드, 보안 패치를 관리하여 배포가 항상 최신 상태로 유지되도록 합니다.
Kafka Connect 서비스 내에서 다음 구성을 실행할 수 있습니다.
용량 및 네트워크 제약 조건: 성능과 비용을 최적화하기 위해 리소스 한도와 네트워크 구성을 정의합니다.
모니터링 및 로깅: 커넥터의 로그 및 측정항목에 액세스하여 성능을 모니터링하고 문제를 해결합니다.
커넥터 수명 주기 관리: 필요에 따라 커넥터를 일시중지, 재개, 다시 시작 또는 중지하여 데이터 파이프라인을 관리합니다.
제한사항
기본 Kafka 클러스터는 Managed Service for Apache Kafka 클러스터여야 합니다. 기본 클러스터는 Kafka Connect 클러스터가 메타데이터를 쓰는 클러스터입니다.
Kafka Connect 클러스터에 맞춤 커넥터 플러그인을 업로드할 수 없습니다.
이 서비스는 스키마 레지스트리를 사용하여 원격 스키마에 대한 유효성 검사를 지원하지 않습니다.