🚀 Kafka 에서 파티션 증가 없이 동시 처리량을 늘리는 방법

Kafka 를 사용할 때 메시지 처리량을 늘릴 수 있는 가장 쉬운 방법 중 하나는 파티션을 증가시키고 이에 맞게 컨슈머 스레드 수를 조절하는 것입니다.


다만 이 방법에는 다음과 같은 주의사항이 있습니다.


Kafka 스펙상 파티션 수는 한번 늘어나면 줄일 수 없습니다.

따라서 일시적인 트래픽 증가일 경우 불필요한 파티션을 유지해야하는 결과를 초래할 수 있기에 파티션 수 증가는 신중하게 결정해야합니다.


그리고 파티션을 늘리게 될 경우 기존에 보낸 메세지와 다른 파티션으로 메세지가 유입될 수 있어 순서가 중요한 메세지일 경우 영향을 받을 수 있습니다.


Confluent 에서는 이러한 이슈를 해결하기 위해 Kafka 의 병렬처리 단위를 파티션 단위가 아닌 메세지 단위로 처리할 수 있게끔 Parallel Consumer 를 만들었습니다.


Parallel Consumer 는 이름에서 이미 눈치 채셨겠지만,

단일 파티션에 여러 컨슈머 스레드를 사용하여 파티션을 늘리지 않고 동시 처리량을 증가시키기 위해 만들어진 라이브러리 입니다.


이번에 Naver 기술 개발 블로그인 d2 에서 Parallel Consumer 에 대한 내용을 자세히 설명해주는 글을 올려주셨는데요,

관심있으신 분들께서는 한번 읽어보시면 좋겠습니다.


📚 원문

https://d2.naver.com/helloworld/7181840

NAVER D2

d2.naver.com

NAVER D2

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 10월 27일 오전 12:40

 • 

저장 20조회 4,098

댓글 0

    함께 읽은 게시물

    < 일 잘하는 PM은 문제의 ‘이름’부터 정의한다 >

    1

    ... 더 보기

     • 

    댓글 1 • 저장 20 • 조회 1,194


    QA 구직/이직을 위한 이력서 작성 팁

    ... 더 보기

     • 

    댓글 1 • 저장 28 • 조회 2,821


    넷플릭스는 왜 WebFlux를 사용하지 않을까?

    ... 더 보기

    넷플릭스는 왜 WebFlux를 사용하지 않을까?

    kr.linkedin.com

    넷플릭스는 왜 WebFlux를 사용하지 않을까?

    🍜 짜파게티가 왜 거기서 나와?

    ... 더 보기


    GPT-5가 출시되면서 Function Calling에 Free-Form Function Calling과 Context-Free Grammar (CFG)를 지원하는데, 이게 숨은 보석이다.


    Free-Form은 결과를 JSON이 아니라 SQL, Python script 등의 코드등을 결과로 받거나 XML, CSV 같은 형태로도 받을 수 있다. 다만 plain-text로 주는 형태라서 주의가 필요하다. 이건 예전에도 프롬프트 트릭으로 쓰곤했던거라 그냥 맘이 좀 편해졌다(?)정도.

    ... 더 보기