devmoa

Kafka Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기

AB180·2021년 11월 10일·00
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 효율성이 향상되었습니다.

이 글이 궁금하신가요?

원문 블로그에서 전체 내용을 확인해 보세요

원문 읽으러 가기

AI 추천 연관 게시글

이 글과 관련된 다른 기술 블로그 글을 AI가 추천합니다