Tldr

kafka-connect-biguqery 커넥터로 회원 이벤트 메세지를 빅쿼리로 적재한다. 중복된 메세지는 Transform 영역에서 해결하고, connect 처리에 실패한 메세지는 DLT 로 발행하지 않는다.

배경

Kafka connect 에서의 에러 처리 방법

confluent 공식 문서에 나와 있는 내용을 바탕으로 정리한다.

1. Fail fast

errors.tolerance = none

|300

커넥터 인스턴스 (connector instance)

  • 커넥터 인스턴스는 Kafka와 다른 시스템 간 데이터 복사를 관리하는 논리적 작업(logical job) 이라고 한다.
  • A connector instance is a logical job that is responsible for managing the copying of data between Kafka and another system

2. Silently ignore bad messages

errors.tolerance = all

|300

3. Route messages to a dead letter queue

errors.tolerance = all
errors.deadletterqueue.topic.name = 

|300

conclusion

방안

limits

diagram

flowchart TB
    subgraph connect-cluster
        D{"convert &\ntransform"} --> |success| E{"put"}
    end
    
    bigquery[(coinone-data)]

    D --> |failed| slack
    E --> |success| bigquery
    E --> |failed| slack

reference