본문 바로가기

전체 글

(17)
./gradlew build 의 굴레 프로젝트 기능을 어느정도 만들고 나서 성능테스트를 제대로 하기 위해 dockerfile 을 작성하고 있었다. 스프링의 경우 .jar 파일을 생성하고 docker 에서 컨테이너를 띄울 때 .jar 파일을 실행하고 있다. //dockerfile 중 일부...RUN chmod +x ./gradlew// jar 파일이 생성되는 부분RUN ./gradlew buildCOPY build/libs/Mytube-0.0.1-SNAPSHOT.jar app.jarENTRYPOINT ["java", "-jar", "/app.jar"]위 명령어들이 순조롭게 실행되다가...RUN ./gradlew build 명령어가 영 들지를 않았다. 그래서 로컬에서 직접 실행해보았다. 그러자 어마무시한 에러 파티를 발견했다. 뭔가 로그가 많이..
[Kafka] Listener 기본 설정 (6) 이번에 카프카를 구현하면서 오랜만에 막연함을 느꼈던 것 같다. 구현을 하고, 원리 같은 걸 공부해보기는 했는데 붕 뜬 지식을 잡으려 손을 뻗는 기분이었다.왜 그런 기분을 느낄까 생각해 보면 답은 하나밖에 나오지 않았다.잘 모르기 때문에.나름대로 정리도 해보고 구현도 해봤는데 왜 잘 모를까.여러 가지 블로그를 기반으로 공부하다 보니까 카프카에 대해서 중구난방으로 공부하게 된 것 같았다.  내가 헷갈렸던 내용은 아래와 같다.BatchListner와 RecordListenerBatchListener를 ‘한 번에 여러 레코드를 처리한다’고 정리된 글을 읽고 BatchListener는 병렬처리를 하는 리스너라고 생각을 했다.하지만 코드를 보다보면 Concurrent… 가 붙은 용어( ex. ConcurrentKa..
[Kafka] Spring Kafka commit (5) 리스너 타입레코드 리스너(MessageListener)단 1개의 레코드 처리스프링 카프카 컨슈머의 기본 리스너 타입배치 리스너(BatchMessageListener)한 번에 여러 개의 레코드 처리 Acknowledging 이 붙은 리스너Manual Commit 을 사용하는 경우 (AcksMode: MANUAL, MANUAL_IMMEDIATE)ConsumerAware 가 붙은 리스너KafkaConsumer 인스턴스에 직접 접근하여 컨트롤하고 싶을 때    RecordListener - Record 인스턴스 단위로 프로세싱Listener생성 메서드 파라미터DescMessageListeneronMessage(ConsumerRecord data)onMessage(V data)오토 커밋 또는 컨슈머 컨테이너의 A..