카프카 커넥트의 파티셔닝 카프카 커넥트에 올려진 커넥터는 Source 시스템에서 데이터를 가져올 때, 파티셔닝 한 후에 데이터를 가져온다. 여기서 이야기하는 파티셔닝은 카프카에서 이야기하는 파티셔닝과는 다른 개념이다. 카프카의 파티셔닝은 토픽마다 나누어진 파티션에 메세지의 키 값을 해시 알고리즘으로 구하여 이루어진다. 카프카 차원의 파티셔닝은 메세지가 토픽의 어떤 파티션으로 보내져야 하는지를 의미한다. 그렇지만 커넥터에서 이야기하는 파티셔닝은 이것과는 다른 개념이다. 커넥터의 파티셔닝은 Source System에서 처리해야 할 자원과 커넥터 인스턴스가 가지고 있는 Task에게 일을 나누어 주는 것이다. 한 가지 예를 들어서 알아보자. Source System을 MySQL로 가정하고 Table이 4개가 존..
들어가기 전 카프카 커넥트는 운영에 필요한 메타 정보를 카프카에 저장해둔다. 따라서 카프카 커넥트에서 사용하는 내부 토픽이 무엇이 있는지, 그리고 어떤 역할을 하는지 이해해야 할 필요가 있다. 카프카 커넥트 내부 토픽 카프카 커넥트에서 사용하는 카프카 내부 토픽은 총 4가지가 존재한다. 이 중에서 카프카 커넥트가 만들어서 사용하는 내부 토픽은 3가지고, 하나는 카프카 자체 내부 토픽을 사용한다. 아래에서 카프카 커넥트가 사용하는 내부 토픽 4가지를 알 수 있다 내부 토픽명 설명 connect-offsets Source Connector 별로 메세지를 전송한 offset 정보를 가지고 있음. Source Connector가 한번 전송한 메세지를 중복 전송하지 않기 위해 사용함. 기본 25개의 파티션으로 구..
카프카 커넥트의 기동 모드 connect-distributed connect-mirror-maker connect-standalone 카프카 커넥트는 세 가지 기동 모드를 제공한다. 그렇지만 실제로 사용자가 사용하는 것은 distributed 모드만을 사용한다. distributed 모드와 standalone은 어떻게 다른 것일까? The difference is in the class which is started and the configuration parameters which change how the Kafka Connect process decides where to store configurations, how to assign work, and where to store offsets a..
Kafka Connect란? 카프카는 단순한 메세지 큐 이상으로 하나의 DB의 형태로 자리 매김을 하고 있다. 특히 실시간 데이터 처리가 중요한 스트림 처리의 경우 카프카에서 데이터를 읽어와서 처리하는 형식이 많이 이루어지고 있다. 그런데 최근에 나온 녀석들은 카프카를 대상으로 데이터를 공급하고 읽어오는 형태를 지원한다. 그렇지만 전통적으로 사용하고 있던 RDBMS는 카프카와 연동되는 기능이 제공되고 있지는 않다. 카프카 커넥트는 카프카 메세지 시스템(Broker / Producer / Consumer)를 기반으로 다양한 데이터 소스 시스템에서 발생한 데이터를 타겟 시스템으로 전달하기 위해 만들어진 Component다. 주요한 특징 중 하나는 Kafka와 관련된 코딩 없이 설정만으로 데이터를 Source..