kafka

카프카 커넥트 정리

25G 2023. 10. 19. 17:58

카프카 커넥트

카프카커넥트는 아파치 카프카의 오픈소스 프로젝트 중 하나로, 데이터베이스 같은 외부 시스템과 카프카를 손쉽게 연결하기 위한 프레임워크입니다.
대용량의 데이터를 카프카의 안팎으로 손쉽게 이동시킬수 있습니다. 코드작성없이..
프로듀서와 컨슈머를 직접 개발해 원하는 동작을 실행하고 처리할 수 있지만, 개발 비용이 부담된다면 카프카 커넥트를 이용하면 빠르게 적용할 수 있다.

• 데이터 중심 파이프라인: 커넥트를 이용해 카프카로 데이터를 보내거나,카프카로부터 데이터를 가져옵니다.
• 유연성과 확장성: 커넥트는 테스트 및 일회성 작업을 위한 단독 모드 실행 할 수 있고, 대규모 운영 환경을 위한 분산 모드(클러스터형)로 실행할 수
도 있습니다.
• 재사용성과 기능 확장: 커넥트는 이미 만들어진 기존 커넥터들을 활용할 수도 있고 운영환경에서의 요구사항에 맞춰 빠르게 확장이 가능합니다. 커넥트의 이러한 손쉬운 확장 기능을 통해 운영 오버헤드를 낮출 수 있습니다.
• 장애 및 복구: 카프카 커넥트를 분산 모드로 실행하면 워커 노드workMode의 장애 상황에도 유연하게 대웅 가능하므로 고가용성이 보장됩니다.

카프카 커넥트 핵심 개념

소스 -> 소스커넥트 -> 카프카 -> 싱크커넥트 -> 싱크
위순서로 배치 할 수 있다.
카프카 기준으로 들어오고 나가는 양방향에 커넥트가 존재하게 되는데, 동일한 두 케넥트를 서로 구분하기 위해 소스방향에 있는 커넥트를 소스 커넥트, 싱크 방향에 있는 커넥트 싱크 커넥트라고 합니다.

커넥터

커넥터는 직접 데이터를 복사하지 않고 데이터를 어디에서 어디로 복사해야 하는지의 작업을 정의하고 관리하는 역할을 합니다.소스에서 카프카로 전송하는 소스커넥터와 싱크커넥터 예를들어RDBMS의 데이터를 카프카로 전송하고 싶다면 JDBC소스 싱크커넥터가 필요한것입니다

태스크

태스크는 커넥터가 정의한 작업을 직접 수행하는 역할을 합니다.
커넥터와 마찬가지로 싱크태스크와 소스태스크가있습니다.

카프카 커넥트 REST API

GET / :커넥트의 버전과 클러스터 ID 확인 커넥터 리스트 확인
GET /connectors :커넥터 이름의 상세 내용 확인 커넥터 이름의 config 정보 확인 커넥터 이름의 상태 확인
GET /connectors/커넥터 이름 :커넥터 이름의 상세 내용 확인
GET /connectors/커넥터 이름/config : 커넥터 이름의 config 정보 확인
GET /connectors/커넥터 이름/status : 커넥터 이름의 상태 확인
PUT /connectors/커넥터 이름/conflg : 커넥터 config설정
PUT /connectors/커넥터 이름/pause : 커넥터의 일시 중지
PUT /cᄋnnectors/커넥터 이름/resume : 커넥터의 다시 시작
DELETE / connectors/커넥터 이름 :커넥터의 삭제
GET / connectors/커넥터 이름/tasks :커넥터의 태스크 정보 확인
GET /connectors/커넥터 이름/tdsks/태스크ID/ status : 커넥터에서 특정 태스크의 상태 확인
POST /connectors/커넥터 이름/tdisks/태스크ID/restart : 커넥터에서 특정 태스크 재시작

분산 모드 카프카 커넥트

단독모드 카프카 커넥트는 데모용이나 테스트용에 적합합니다. 운영환경에서는 분산모드로 사용하는것이 안정적인 운영에 도움을 줍니다.
단독모드와 분산모드의 가장 중요한 차이점은 메타 정보의 저장소 위치 입니다.
분산 모드는 메타 정보의 저장소로 카프카 내부 토픽을 이용합니다.
분산모드에서는 워커에 과부하가 왔을때 워커를 늘리면 자동으로 리벨런싱하고
운영중인 워커중 하나의 워커가 장애가나면 태스크를 정상적인 워커로 이동시켜줍니다.(스케일아웃)

커넥터 기반의 미러 메이커 2.0

여러개의 다중 클러스터를 활용하는 경우 장애 복구차원이나 카프카를 용도별로 구분할때(업스트림,다운스트림)등등 카프카와 카프카에서 리플리케이션을 할때 필요한 도구가 미러메이커 입니다. 아파치카프카는 미러 메이커를 기본 도구로 제공합니다.내장 미러메이커는 1.0버전(기능적인 측면 때문에 2.0을 많이사용함)

미러 메이커 2.0 기능들

원격 토픽 에일리어스 기능

미러메이커는 소스 클러스터에서 타깃 클러스터로 타깃 토픽들을 리플리케이션 합니다. 내부적인 정책으로 서로 리플리케이션이 병합되거나 순서가 뒤바뀌는 파티션은 없습니다.

카프카 클러스터 통합

다중클러스터로 부터 미러링된 토픽들을 다운스트림 컨슈머가 통합할 수 있습니다. 관리자는 데이터를 처리함에 있어 원하는 형태로 토픽을 컨슘할 수 있습니다.

무한루프 방지

양방향 미러링을 통해 무한루프되는것을 2.0에서는 방지할 수 있습니다.
접두어를 추가해 토픽을 리플리케이션하지 않게 하는것

토픽 설정동기화

소스 토픽을 모니터링하고 토픽의 설정 변경사항을 원격의 대상 토픽으로 정파합니다.

안전한 저장소로 내부 토픽 활용

주기적으로 정상상태 점검을 스케줄링하며 주기적으로 중요 정보들을 저장하기 위해 가장 안전한 저장소인 카프카 내부 토픽을 사용합니다.

카프카 커넥트 지원

'kafka' 카테고리의 다른 글

카프카 스키마 레지스트리  (1) 2023.10.19
카프카 버전업그레이드  (0) 2023.10.19
카프카 운영,모니터링  (1) 2023.10.19
카프카 / 컨슈머의 내부동작 원리  (0) 2023.10.19
프로듀서 내부동작원리  (1) 2023.10.19