[KAFKA] Default Partitioner, Sticky Partitioner


[KAFKA] Default Partitioner, Sticky Partitioner

key Hashing 프로듀서에서 카프카로 메시지를 보낼 때 키가 null이 아니면 레코드는 파티셔너 로직을 거쳐서 어떤 파티션에 할당될지 결정된다. 이를 key Hashing이라고 한다. Default Partitioner 기본 파티셔너에서는 murmur2 알고리즘을 사용해서 키를 해싱 한다. 위 식을 통해서 동일한 키는 동일한 파티션에 할당이 된 게 만든다. 하지만 식의 오른쪽에 파티션의 개수가 있기에 기존 토픽에 파티션을 추가하면 식의 결괏값이 달라짐 따라서 동일한 키가 동일한 파티션에 할당된다는 보장이 없게 된다. 이럴 경우 파티션을 추가하는 대신 새로운 토픽을 만드는 것이 좋다 라운드 로빈 파티셔너 카프카 2.3까지는 기본이 Round Robin 방식이다. https://www.conduktor.io/kafka/producer-default-partitioner-and-sticky-partitioner/ 프로듀서가 6개의 메시지를 전송하고 파티션이 5개 있는 토픽 라운드 로...


#카프카

원문링크 : [KAFKA] Default Partitioner, Sticky Partitioner