본문 바로가기

728x90
반응형

Back-end & Server/Kafka

(6)
[Kafka] Sink Connector { "name": "postgres-sink-connector", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector", "connection.url": "jdbc:postgresql://target-postgres-server:5432/targetdatabase", "connection.user": "targetuser", "connection.password": "targetpassword", "table.name.format": "", "topics": "", "auto.create": false, "auto.evolve": false, "tasks.max": 2, "transforms": "TimestampConv..
[Kafka] Source Connector 생성 Source Connector는 Connect에 API 호출을 통해 생성한다. ex. source_connector.json { "name": "postgres-source-connector", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url": "jdbc:postgresql://postgres-server:5432/mydatabase", "connection.user": "myuser", "connection.password": "mypassword", "table.whitelist": "iris_data", "topic.prefix": "postgres-source-", "..
[Kafka] Kafka System 앞선 포스트들의 이론을 가지고 Kafka System을 구축해보겠다. 먼저 Docker compose로 zookeeper, Broker, Schema Registry, Connect를 생성한다. Zookeeper : 브로커 서버의 상태 감지를 위해 사용되는 주키퍼 서버Broker : Source Connector에서 데이터를 받아 Topic에 저장, Sink Connector로 데이터를 넘겨줄 브로커 서버(이 포스트에서는 단일 브로커 사용)Schema Registry : 메시지의 schema를 저장하기 위한 Schema Registry 서버Connect : Connector를 띄우기 위한 Connect 서버 Zookeeper와 Broker를 띄우는 코드는 이전 포스트에서 작성한 코드이다. [Kafka] ..
[Kafka] Producer와 Consumer의 한계 Kafka는 Producer와 Consumer Client를 통해 메시지를 파이프라인을 쉽게 구성할 수 있다. 하지만 전달해야할 DB가 늘어날 때 마다 Producer, Topic, Consumer도 한개씩 늘어나기 때문에 개발 비용, 반복작업이 많아 질 수 있다. 따라서, 더 간편하고 효율적으로 메시지 파이프라인을 구축하는 방법으로 Kafka에서는 Connect와 Connector라는 것이 탄생하게 되었다. Connect & Connector Connect는 데이터 시스템과 Kafka 간의 데이터를 확장 가능하고, 안전한 방법으로 Streaming하기 위한 도구이다. Connect를 사용하기 위해서 데이터를 어디로부터 가져오는지, 어디에다가 전달해야 하는지를 알려주는 Connector를 정의해야 한다...
[Kafka] Producer & Consumer 먼저 Producer와 Consumer에 대해 알아보자. Producer는 "메시지 생산"해서 Broker의 Topic으로 메시지를 보내는 역할을 하는 어플리케이션 또는 서버이다. 데이터 전송 시 "리더 파티션"을 가지고 있는 Broker와 직접 통신한다. 원하는 Topic의 파티션에 전송만하며 이후 어떤 Consumer에게 전송되는 지는 신경쓰지 않는다. Consumer는 Topic의 파티션에 저장되어 있는 "메시지를 소비"하는 역할을 하는 어플리케이션 또는 서버이다. 데이터를 요청할 때 리더 파티션을 가지고 있는 Broker와 통신하여 Topic의 파티션으로부터 데이터를 가져간다. 운영 방법은 2가지가 있다. 운영방법1 - Topic의 특정 파티션만 구독하는 Consumer 운영 운영방법2 - 1개 ..

728x90
반응형