• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Kafka 처리량 조절 관련 문의드립니다

23.08.01 18:19 작성 조회수 266

0

며칠전 수강시작했구요. 첫 완강한 인프런 유료강의가 되었네요.

앞으로도 이러한 스타일 (주제중심, 적당한 총 길이)의 강의를 더 만들어주시면 감사하겠습니다.

업무환경에서 다양한 기술스택을 경험하기 어려운 개발자들도 경험하면 좋을 기술스택도 좀 포함되면 더할나위 없이 좋을것 같구요.

제 경우엔 이 강의 덕분에 아주 오래전 살짝 경험해본 Redis 를 복습하게 되었고, Kafka 에 대해서도 입문하게 되었습니다.

질문드립니다.

이 강의에서 Kafka 이용의 장점은 처리량 조절이라고 말씀주셨습니다.

처리량 조절의 구체적인 방안은

구성방식, 요건등 상황에 따라 다양한 안이 있긴 하겠지만

혹시 알려주실만한 방안이 있을까요?

 

개인적으로 찾아본것은 컨슈머 옵션중

fetch.max.wait.ms 또는 fetch.max.bytes

같은 옵션을 이용하면 괜찮겠다라는 생각이 들긴 했습니다.

(쓰면서 생각드는건데.... 만약 두개 동시에 이용시 OR 조건으로 동작해야 될텐데.. 라는 생각이...)

 

경험하신 사례이든, 참고할만한 링크이든 혹시 알려주실수 있다면 감사하겠습니다.

답변 1

답변을 작성해보세요.

0

Goldtalks 님 안녕하세요.


Kafka 는 토픽에 있는 데이터를 순차적으로 가져와서 처리하게 됩니다.
Consumer 가 1개가 있고 토픽에 데이터가 100개가 있다고 가정할때 Consumer 에서는 1번 데이터를 가져와서 처리가완료되면 2번 데이터를 가져와서 처리합니다.

10:00시에 100명의 유저가 1번씩 요청을 보내게 됐을때 API 에서 직접 처리를 한다면 데이터베이스에 100번의 요청이 한번에 몰리게 될 것입니다.

하지만 이 요청을 카프카 프로듀서를 이용하여 토픽에 전송하고 Consumer 를 이용하여 데이터를 처리한다면 데이터베이스에 요청하는양을 조절할 수 있게됩니다.

이것을 처리량조절이 가능하다고 표현하였습니다.

혹시 추가적으로 질문이 있으시면 질문남겨주세요!

감사합니다.