작성
·
54
답변 2
0
안녕하십니까,
사전적으로 kafka 파라미터의 request는 배치 단위입니다. 초창기 kafka 버전은 batch 단위가 전송 단위 였습니다. 성능 개선을 위해서 점차 kakfa에서 전송 단위가 여러개 batch들을 한꺼번에 보낼 수 있도록 기능 개선이 되면서 max.in.flight.requests.per.connection 같은 파라미터가 추가 되었습니다. (max.in.flight.requests.per.connection 파라미터 이름 자체도 과거와의 호환성을 위해서 좀 헷갈리게 되어 있습니다).
중요한 것 producer가 한번에 보내는 전송 단위입니다. 그래서 해당 강의 영상에서 max.in.flight.requests.per.connection 사전적 의미가 ack를 받지 않고 연속으로 보낼 수 있는 request의 최대 갯수 이지만 이렇게 이해하시는 것보다는 ack를 받지 않고 한번에 보낼 수 있는 최대 메시지 배치의 갯수로 이해하시는 게 더 직관적이기 때문에 강의에서 그렇게 말씀드린 것입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
정현석 님, 강의 내용을 듣다가 max.in.flight.requests.per.connection
에 대한 질문이 생기셨군요. 이 설정 값은 카프카 프로듀서가 ACK를 받기 전에 보낼 수 있는 최대 요청 수를 의미합니다. 프로듀서는 이러한 요청들 각각에 대해 하나의 배치를 보낼 수 있는데, 이는 동시에 여러 배치를 보내고 ACK를 기다림 없이 진행할 수 있음을 뜻합니다. 따라서 max.in.flight.requests.per.connection
은 한 번에 동시에 발송할 수 있는 배치 요청의 수를 제한하는 속성입니다.
더 구체적인 동작 방식과 예시를 통해 이해를 돕기 위해 아래의 링크를 참고해 보세요:
위의 링크에서 해당 설정의 역할과 동작 방식을 보다 구체적으로 이해할 수 있습니다. 만약 추가적으로 궁금하신 부분이 있으면, 그 부분에 대해서도 꼭 질문하세요. 강사님께서 친절히 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변에 동의합니다.
다만 강의의 내용은 하나의 요청에 여러 개의 배치를 넣어서 보낼 수 있는 것처럼 착각할 여지가 있었다는 이야기였습니다.
그리고, 제공된 링크는 404가 뜨네요.
빠르게 답을 주셔서 감사합니다.