아래 블로그에 대한 내용을 정리한 글입니다.https://dol9.tistory.com/281https://dol9.tistory.com/282https://www.youtube.com/watch?v=tU2pHxLh4ZU 카프카에서 Purgatory가 사용될 때컨슈머컨슈머에서 메시지를 가져올 때 성능 개선을 위해서 메시지를 배치로 묶일 때 까지 대기를 하게 된다.컨슈머가 브로커로부터 레코드를 읽어올 때 데이터의 최소량(byte 단위)이 되지 않았을 때카프카가 컨슈머에게 응답하기 전 충분한 데이터가 모일 때까지 기다릴 수 있는데 시간을 만족하지 않았을 때이 때 컨슈머가 보낸 요청이 머무는 것을 Purgatory라고 하며, Purgatory에서 벗어나는 방법은 요청 조건에 만족하거나, 지정한 시간이 흘러 t..
Kafka
컨슈머 랙(LAG)컨슈머 애플리케이션을 운영하고 전체 데이터 파이프라인을 운영할 때 가장 중요한 지표 중 하나며, 토픽의 최신 오프셋(LOG-END-OFFSET)과 컨슈머 오프셋(CURRENT-OFFSET) 간의 차이를 말합니다.컨슈머 랙 = 프로듀서 오프셋 - 컨슈머 오프셋 이런 차이가 발생하는 이유는?프로듀서는 항상 최신의 offset을 가지지만 컨슈머는 애플리케이션 상황에 따라서, 혹은 처리 방식에 따라서 데이터 처리량이 늦어질 수 있기 때문입니다.poll() 메서드 전에 데이터를 배치로 받아오기 때문에 늦어져도 처리는 가능하지만 지연이 발생한다면 파티션 개수를 늘리고 컨슈머 개수를 늘리는게 좋다. 컨슈머 랙을 보는 방법컨슈머 랙은 컨슈머 그룹과 토픽, 파티션별로 생성됩니다. 즉 각각의 컨슈머 그룹..
책을 읽고 이전 글을 작성하면서 ISR 개념에 대해서 학습하고자 정리한 내용입니다. 카프카 프로듀서: 카프카에 메시지 쓰기프로서 개요애플리케이션이 카프카에 메시지를 써야하는 상황들감사 혹은 분석을 목적으로 하는 사용자 행동 기록성능 매트릭 기록로그 메시지 저장 (ELK 스택에서 Filebeat Kafka output 설정등)스마uhanuu.tistory.com Kafka ReplicationKafka에서는 고가용성을 위하여 Replication이란 기능을 제공합니다.Topic의 Partition들을 다른 브로커들로 복제하는 것을 의미동일한 데이터를 여러 브로커에 기록하여 데이터 손실을 방지 Replication factor(기본값 1)를 통해서 Topic을 이루는 Partition을 replication..