Apache Kafka 및 Kafka Connect Framework¶
이 항목에서는 Apache Kafka 및 Kafka Connect Framework의 기본 개념을 설명합니다.
Apache Kafka 소프트웨어는 게시 및 구독 모델을 사용하여 메시지 큐 또는 엔터프라이즈 메시징 시스템과 유사한 레코드 스트림을 쓰고 읽습니다. Kafka를 사용하면 프로세스가 비동기적으로 메시지를 읽고 쓸 수 있습니다. 구독자는 게시자와 직접 연결할 필요가 없으며, 게시자는 구독자가 나중에 수신할 수 있도록 Kafka의 메시지를 큐에 추가할 수 있습니다.
애플리케이션은 *항목*에 메시지를 게시하며 애플리케이션은 해당 항목을 구독하여 그러한 메시지를 수신합니다.
Kafka Connect는 데이터베이스 등 외부 시스템과 Kafka를 연결하기 위한 프레임워크입니다. Kafka Connect 클러스터는 Kafka 클러스터와 별도인 클러스터입니다. Kafka Connect 클러스터는 커넥터(외부 시스템에 대한 읽기 및/또는 쓰기를 지원하는 구성 요소)의 실행 및 확장을 지원합니다.
Kafka Connect는 다음 두 가지 유형의 커넥터와 함께 사용할 수 있습니다.
소스 커넥터: 외부 시스템에서 Kafka 항목으로 데이터를 가져옵니다.
싱크 커넥터: Kafka 항목에서 외부 시스템으로 데이터를 내보냅니다.
Kafka용 고성능 Snowflake Connector는 Kafka 항목에서 데이터를 읽고 Snowflake 테이블에 로드하는 싱크 커넥터입니다.
Kafka Connect는 다음과 같은 일반적인 운영 문제를 처리합니다.
확장성: Kafka Connect는 클러스터에 더 많은 작업자 노드를 추가하여 수평적으로 확장할 수 있습니다.
내결함성: 작업자 노드에 장애가 발생하면 Kafka Connect가 작업을 사용 가능한 다른 노드에 자동으로 재배포합니다.
오프셋 관리: Kafka Connect는 처리된 레코드를 추적하여 오류 발생 시 데이터가 손실되거나 중복되지 않도록 합니다.
구성 관리: 커넥터는 REST API를 통해 구성 및 관리하여 데이터 파이프라인을 더 쉽게 배포하고 모니터링할 수 있습니다.