반응형

MemoryManagement 2

[Apache Flink] 8. [운영] 프로덕션을 위한 성능 튜닝과 백프레셔(Backpressure) 해결 전략

안녕하세요!드디어 대장정의 마지막 순간이 왔습니다. 지난 1편부터 7편까지 우리는 Flink의 탄생 배경부터 시간(Time), 상태(State), 윈도우(Window), 그리고 복합 이벤트 처리(CEP)까지 숨 가쁘게 달려왔습니다. 코드는 완벽하고, 로직은 아름답습니다.하지만, 진짜 승부는 개발 환경이 아닌 '프로덕션(Production)'에서 시작됩니다."어제까진 잘 돌았는데, 이벤트 터지니까 갑자기 지연(Lag)이 미친 듯이 늘어나요!" "TaskManager 메모리가 계속 터집니다. 살려주세요!"오늘은 땀 냄새나는 현장의 이야기입니다. 무한한 데이터가 쏟아지는 운영 환경에서 살아남기 위한 가장 강력한 무기, 백프레셔(Backpressure) 해결 전략과 메모리 튜닝, 그리고 현대 인프라의 표준인 K..

[Apache Flink] 3. [상태] Stateful Streaming의 핵심: 상태(State) 관리와 RocksDB

안녕하세요!지난 2편에서는 지연되는 데이터를 우아하게 처리하기 위해 Flink가 사용하는 워터마크(Watermark)와 시간의 마법에 대해 알아보았습니다. 이제 데이터가 제때 도착하든 늦게 도착하든, 정확한 타이밍에 계산을 마감할 수 있게 되었습니다.그런데 여기서 근본적인 질문이 하나 생깁니다. "스트리밍은 데이터가 끊임없이 흘러가는 파이프라면서요? 그럼 방금 지나간 데이터는 어디에 기억해 두나요?""최근 10분간 유저 A가 장바구니에 담은 상품 목록", "어제부터 지금까지 발생한 총매출액". 이런 계산을 하려면 과거의 데이터를 '기억'해야 합니다. 무한한 데이터 스트림 속에서 시스템의 메모리가 터지지 않게 안전하게 기억을 관리하는 기술!오늘은 Flink를 단순한 파이프가 아닌 강력한 애플리케이션(Sta..

반응형