background

objective

howto

system architecture

flowchart TB
    subgraph aws["AWS"]
        subgraph eks["AWS EKS"]
            subgraph source_connect["Kafka Connect Cluster"]
                sink("BigQuery SinkConnector")
                source("Debezium SourceConnector")
            end

        end
        
        subgraph rds["AWS RDS"]
            exchange[(exchange)]
        end
        subgraph msk["AWS MSK"]
            kafka[(kafka)]
        end
        amp["Amazon Managed Service for Promethus"]
        amg["Amazon Managed Service for Grafana"]
    end

    subgraph gcp["Google Cloud Platform"]
        bigquery[("BigQuery")]
    end
    users
    
    rds --> |read| source --> |produce| msk --> |consume| sink --> |write| gcp
    source --> |collect metrics| amp --> |dashboard & alert| amg --> |watch| users

🤔 왜 Debezium 을 선택했나요
Debezium 대안으로 다양한 도구들이 있지만, 다음과 같은 이유로 선정했습니다.

🤔 왜 MSK Connect 는 사용하지 않았나요?
고려하지 않은 건 아닙니다. Debezium 테스트할 당시 웹콘솔에서 간단히 설정할 수 있는 기능으로 쉽게 구성할 수 있었지만, (당시) 커넥터 옵션 변경 경험이 좋지 않았어요. Debeizum 커넥터의 경우 재실행하는 케이스도 많을텐데, 재실행 마다 커넥터를 삭제하고 생성해야 하는 불편함이 있었어요. 그리고, 기존에 사용하는 커넥트 클러스터가 있었고 이를 충분히 활용할 수 있다 판단 -> MSK Connect 는 이용하지 않기로 결정했어요.

result

troubleshoot

keytakeaway

more

None