[Kafka_CDC]_Kafka CDC 구현_(1단계- 설계)

2022. 4. 13. 15:44[Kafka]/[Kafka_CDC]

728x90
반응형

구축 목표

실시간으로 DB의 데이터가 변할 때 kafka 를 통해 consumer 에게 메세지 보내기.

 

구현 기술

CDC : Change Data Capture 실시간 데이터 캡쳐

CDC를 사용하기 위해서는 DB를 바라보는 Kafka connect가 필요하다.

 

 

구글링 결과 

MongoDB 에서 지원하는 MongoDB Kafka Connector 가 있고

https://www.mongodb.com/docs/kafka-connector/current/

 

MongoDB Kafka Connector — MongoDB Kafka Connector

Docs Home → MongoDB Kafka ConnectorThe MongoDB Kafka connector is a Confluent-verified connector that persists data from Kafka topics as a data sink into MongoDB as well as publishes changes from MongoDB into Kafka topics as a data source.This guide prov

www.mongodb.com

Debezium 에서 지원하는 MongoDB 컨넥터가 있다.

https://debezium.io/documentation/reference/stable/connectors/mongodb.html

 

Debezium connector for MongoDB :: Debezium Documentation

A long integer value that specifies the maximum volume of the blocking queue in bytes. By default, volume limits are not specified for the blocking queue. To specify the number of bytes that the queue can consume, set this property to a positive long value

debezium.io

springboot 와 같은 환경을 구축하지 않고, 데이터 입력시 반응하게 하기 위함은 Debezium이 용이하다 생각하여

debezium 선택하였습니다.

 

 

구현 예상도]

구축 환경

window - Producer ] 

 

    - DB : MongoDB

    - zookeeper server

    - Kafka server

    - Kafka connect

    - Debezium connector

 

Linux - virtualBox - Consumer ]

    - Kafka server

 

Connect , Connector 의 차이점.

 

1. CDC 와 같은 기술을 사용하려면 Kafka Framework 중 하나인 Connect를 설치해야 한다.

2. 그리고 DB를 바라보기 위한 설정으로 Connector를 설치한다.

   즉 connect 에 connector을 달아준다고 생각하면 된다.

 

Connector 에는 2가지 종류가 있습니다.

Source Connector - Source System의 데이터를 카프카 topic 으로 전송하는 커넥터 = Producer

Sink Connector - 카프카 토픽을 구독 (Subscribe) 하여 데이터를 가져오는 커넥터 = Consumer

 

728x90
반응형