일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Mirror
- 비동기
- swagger
- tsdb
- Reactive
- ProjectLoom
- Vmalert
- OFFSET
- JVM
- consumer
- VictoriaMetrics
- Reassign
- spring
- NoClassDefFoundError
- raft
- Zookeeper
- ExecutableJar
- kafka
- springboot
- Rebalance
- JDK
- OpenJDK
- API문서
- webflux
- java
- Brooklin
- restdocs
- Vmagent
- broker
- Today
- Total
목록 consumer (3)
거북이 developer
이슈 producer 가 메세지를 일정 간격으로 전송(500ms) consumer 설정 중 fetch.min.bytes 를 1로 설정(데이터가 있으면 즉시 받도록 최소로 설정) 하고 fetch.max.wait.ms 를 default(500ms)로 설정했을 때, consumer 가 저장된 메세지를 읽어들이는데 지연시간이 발생.(메세지가 broker 에 도착시간은 12시 0분 0초 0ms 인데 해당 메세지를 컨슈머가 읽은 시간은 12시 0분 0초 300ms) fetch.max.wait.ms 를 100ms 로 설정하였을 경우 지연시간이 줄어듬 원인 kafka documentation 에 정리된 설정값의 설명을 보면 fetch.min.bytes 를 1로 설정할 경우 데이터가 들어왔을 때 즉시 응답을 줄거로 예상..
Multi-Threaded Message Consumption with the Apache Kafka Consumer 토픽에서 레코드는 파티션이라는 더 작은 단위로 묶인다. 이 단위는 결과의 정확성을 훼손하지 않고 독립적으로 처리할 수 있으며, 병렬 처리를 위한 토대가 된다. 병렬 처리는 일반적으로 스케일링을 통해서 가능하다. 같은 그룹 내에 여러 컨슈머를 두고, 각 컨슈머는 토픽 파티션들의 서브셋으로 부터 데이터를 가져가 처리하고 단일 쓰레드에서 실행된다. 대부분의 유즈 케이스에서 단일 쓰레드에서 메시지를 읽고 처리하는 것은 문제가 없다. 따라서, 쓰레드당 컨슈머 모델은 아파치 카프카 컨슈머에서 흔히 사용된다. I/O 연산이 들어가지 않는 처리는 일반적으로 매우 빠르기 때문에, poll 루프도 잘 동작..
파티션 리밸런싱이 발생하는 케이스 KafkaConsumer.close 가 호출되어 코디네이터에게 consumer 가 종료 되는 것을 알렸을 때. heartbeat.interval.ms 간격으로 호출되는 하트비트가 session.timeout.ms 동안 오지 않았을 경우 코디네이터에서 해당 컨슈머를 컨슈머그룹에서 제외하고 파티션 리밸런싱 발생. max.poll.interval.ms 동안 poll 요청이 없을 경우 코디네이터에서 해당 컨슈머를 컨슈머그룹에서 제외하고 파티션 리밸런싱 발생. Consumer 가 신규로 추가되어 파티션 분배가 필요한 상황일 경우. 파티션 수를 증가 시켰을 때 코디네이터란❓ 모든 브로커는 특정 컨슈머 그룹의 코디네이터 역할을 합니다. 코디네이터는 컨슈머 그룹의 멤버 변화가 생겼을 ..