Kafka Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기
Kafka데이터 파이프라인아키텍처실시간 처리gRPCECSService Discovery
AI 요약
Beta본 글은 Kafka lag 문제를 해결하고 실시간 대용량 데이터 처리를 위한 아키텍처 개선 과정을 다룹니다. 기존 아키텍처는 consumer 간 처리량 불균형 및 데이터 skewing 문제로 인해 시스템 리소스 사용량 편차가 심화되었고, ECS 환경에서는 확장성에 한계가 있었습니다.
이에 대한 해결책으로 Kafka consumer와 application server를 분리하는 모델을 채택했습니다. 이 모델은 기존 인프라 변경 없이 마이그레이션이 가능하며, gRPC 인터페이스를 통해 통신합니다.
아키텍처 설계 시 네트워크 비용 최소화를 위해 Service Discovery를 활용하고, 데이터 처리 순서 보장 및 무중단 배포를 고려했습니다. Python + gRPC 환경에서 multi-core 활용 문제를 Envoy sidecar로 해결했으며, Service Discovery SRV record 활용을 위해 AWS Cloud Map 기반의 custom resolver를 구현했습니다.
새로운 아키텍처 적용 후 Kafka producer의 batch produce 효율성이 향상되었습니다.
이 글이 궁금하신가요?
원문 블로그에서 전체 내용을 확인해 보세요
원문 읽으러 가기


