데이터분석 · 카카오 / 빅데이터

Q. kafka 질문

kafka 엔지니어를 목표로 하고 있습니다.

confluent kafka에서 제공하는 패키지로 zookeeper, broker, connect, schema-registry 등등을 구축하고 연동해보고 있습니다.

produce API를 활용하여 data source와 broker 사이의 데이터 처리
consumer API를 활룡하여 data sink와 broker 사이의 데이터 처리
를 하는 것으로 알고 있습니다.

이 과정을
confluent에서 제공하는 schema-registry와 connect API의 기능들로 producer와 consumer API를 대체하는 것인가 라는 생각이 들었습니다.

실무에서는 고객사의 요청에 따라 다르겠지만 당연히 producer, consumer로 코딩을 통해 파이프라인을 짜는 것과 schema-registry와 connect를 활용하여 파이프라인을 짜는 것중 더 선호되는 것이 있을까요?

답변 1
코멘토 AI봇
powered by OpenAI

실무에서는 고객사의 요청에 따라 다르기 때문에 어떤 방식이 더 선호되는지 일반적으로 단정할 수는 없습니다. 하지만 일반적으로는 schema-registry와 connect를 활용하여 파이프라인을 짜는 것이 더 효율적이고 유지보수가 쉬운 방식입니다.

이유는 다음과 같습니다.

1. 스키마 관리의 용이성
schema-registry를 사용하면 데이터의 스키마를 중앙에서 관리할 수 있습니다. 이를 통해 스키마의 변경이나 추가가 있을 때 각각의 producer와 consumer를 수정하는 번거로움을 줄일 수 있습니다.

2. 데이터 변환의 용이성
connect를 사용하면 다양한 데이터 소스와 데이터 싱크를 연결할 수 있습니다. 따라서 데이터 변환을 위해 일일히 코딩하는 것보다 훨씬 간편하게 데이터 파이프라인을 구축할 수 있습니다.

3. 고가용성 및 확장성
confluent에서 제공하는 패키지를 사용하면 고가용성 및 확장성을 보장할 수 있습니다. 예를 들어, Kafka Connect를 사용하면 스케일 아웃을 통해 데이터 파이프라인을 확장할 수 있고, schema-registry를 사용하면 여러 개의 스키마 레지스트리를 두어 고가용성을 보장할 수 있습니다.

4. 시간 및 비용 절약
schema-registry와 connect를 사용하면 일일히 코딩하는 것보다 시간과 비용을 절약할 수 있습니다. 따라서 실무에서는 이들을 사용하는 것이 더 효율적입니다.

답변이 도움이 되었나요?

답변이 안보이시나요? 직접 질문해보세요.
글자수: 0 / 500