BackEnd/Kafka3 [Kafka] TCP로 인한 대규모 Kafka 클러스터 요청 지연 문제 해결 사례 정리(라인 유튜브) 이번에는 라인 유튜브에 올라와있는 것을 보고 정리한 글입니다. 틀린 내용이 있을 수도 있습니다. 틀린 내용이 있다면, 알려주시면 감사하겠습니다. 문제 상황 kafka broker를 rolling restart 했을 때, message produce가 실패하는 현상 발생 했음. -> produce reqeust timeout이 발생했다고 함. restart 했던 broker의 response time은 정상이였지만, producer의 request latency가 거의 16초나 되었다고 함. 왜 이런 현상이 나타났을까? 그렇다면 request는 어떠한 과정으로 일어나는 지? producer -> broker -> producer 이런 식으로 latency를 측정함. broker는 데이터를 완전히 받는 직후.. 2023. 10. 10. [Kafka] partition, consumer, producer 관계 (2) 이번에는 두 대의 서버와 local kafka를 이용하여 실험해 본다. kafka는 docker를 이용하여 실행한다. producer @Async //항상 1 전송 public void prodcue1(String mm){ kafkaTemplate.send("fcm",Integer.toString(new Random().nextInt()), mm); System.out.println(String.format("pro %s %s", mm, Thread.currentThread().getId())); } @Async //항상 2 전송 public void produce2(String mm){ kafkaTemplate.send("fcm", Integer.toString(new Random().nextInt().. 2023. 2. 8. [Kafka] partition, consumer, producer 관계 (1) parition, consumer, producer 가 정확히 어떻게 작동하는 지 궁금하여 테스트를 해보게 되었다. Spring test와 @EmbeddedKafka를 이용하여 테스트 했다. 이는 producer이다. key는 random으로 아무런 값이나 보내게 된다. @Async //항상 1 전송 public void prodcue1(String mm){ kafkaTemplate.send("fcm",Integer.toString(new Random().nextInt()), mm); System.out.println(String.format("pro %s %s", mm, Thread.currentThread().getId())); } @Async //항상 2 전송 public void produce2(.. 2023. 2. 8. 이전 1 다음