로딩
요청 처리 중입니다...

[KAFKA] 프로듀서, 파티셔너, 배치, 적어도 한 번 전송, 최대 한 번 전송, 중복 없는 전송, 정확히 한 번 전송

 [KAFKA] 프로듀서, 파티셔너, 배치, 적어도 한 번 전송, 최대 한 번 전송, 중복 없는 전송, 정확히 한 번 전송

파티셔너 프로듀서는 토픽으로 메시지를 보낼 때 해당 토픽의 어느 파티션으로 메시지를 보내야 할지를 결정하는 데 이때 사용하는 것이 파티셔너임 파티셔너는 기본적으로 메시지의 Key를 해시 처리해 파티션을 구하는 방식 사용함 라운드 로빈 전략 프로듀서의 메시지에서 Key 값은 필수 값이 아님 Key 값을 지정하지 않으면 키값은 NULL로 되고 파티셔너는 Round Robin 알고리즘을 사용해서 파티션들로 레코드들을 랜덤 전송함 위의 그림을 보면 5개의 레코드를 보낸다고 하면 위의 그림과 같이 순차적으로 데이터가 들어간다. 파티셔너를 거친 후에 레코드들은 배치 처리를 위해 프로듀서의 버퍼 메모리 영역에 대기한 후 카프카에 전송 여기서 문제가 하나 있는데 만약 각 파티션 별로 배치 전송을 위해 필요한 레코드 수를 3으로 설정하면 위의 같은 상황에서는 5개의 레코드가 카프카로 전송되지 못하고 프로듀서 내에서 대기하고 있음 스티키 파티셔닝 전략 라운드 로빈 전략에서 지연시간이 불필요하게 증가되...

# 정확히한번전송 # 중복없는전송 # 카프카 # 프로듀서