카프카 내부 동작 원리2 [kafka] 컨슈머 파티션 할당 전략 개요 이전 포스팅에서는 컨슈머 코디네이터를 통해 리밸런싱 동작이 발생하는 것을 확인할 수 있었다. 하지만, 리밸런싱은 무거운 작업이기 때문에 자주 진행하는 것은 문제가 된다고 강조하였다. 이를 해결하기 위해 스태틱 멤버십 기능을 적용하여 일정 시간동안 리밸런싱을 동작하지 않도록 설정할 수 있는 것을 확인하였다. 이전에 학습했던 내용 중 프로듀서와 관련된 포스팅에서 파티셔너라는 기능을 살펴보면서 특정 파티션으로 전송하기 전 배치 작업을 진행하는 내용을 살펴본 적이 있다. 이와 유사하게 컨슈머의 동작에서도 대상 토픽의 어느 파티션으로부터 레코드(메시지)를 받아올지를 결정하는 메커니즘이 존재하는데 어떠한 매칭 전략이 있는지 이번 포스팅을 통해 알아보려고 한다. 즉, 이번 포스팅에서는 컨슈머 파티션 전략을 정리.. 개발 일지/Kafka 2023. 10. 31. [Kafka] 내부 동작 원리 파헤치기(1) - 리플리케이션 개요 카프카는 브로커의 장애에도 불구하고 연속적으로 안정적인 서비스를 제공하면서 데이터의 유실을 방지하며 유연성을 제공한다. 이전에 게시한 포스팅을 보면 과거 프로젝트를 진행하면서 아쉬웠던 부분들을 회고하며 가용성을 유지하는 환경으로 재구성하였다. 이때 REPLICATION FARTOR라는 옵션을 설정을 하면서 복제 파티션을 만들도록 했던 것을 알고 있을 것이다. 이번 포스팅은 그 원리에 대해서 파헤쳐보는 시간이다. 즉, 어떻게 리플리케이션 동작되는지 알아보고 지금의 답답함을 해소해보려고 한다. 리더와 팔로워 카프카는 내부적으로 모두 동일한 리플리케이션들을 리더와 팔로워로 구분하고, 각자의 역할을 분담시킨다. 여기서 알아야하는 것은 리플리케이션들 중 리더를 하나 정하고 모든 읽기와 쓰기는 그 리더를 통해.. 개발 일지/Kafka 2023. 10. 19. 이전 1 다음 반응형