Backend/Kafka (2) 썸네일형 리스트형 카프카 오프셋 커밋과 메시지 손실, DLT 프로젝트에서 카프카를 사용 중인데 처음 사용해보는거라 아직 모르는 부분이 많다. 카프카를 사용해보며 들었던 의문들을 정리해보고자 한다.자동 커밋 vs 수동 커밋카프카의 자동 커밋(auto commit) 기능을 사용하면, 메시지를 소비한 후 일정 주기마다 오프셋이 자동으로 커밋된다. 이 과정에서 메시지를 가져온 후 처리하는 과정에 예외가 발생하더라도, 이미 오프셋이 커밋되었기 때문에 해당 메시지를 다시 소비할 수 없는 문제가 발생한다. 예제를 통해 살펴보자. 다음은 카프카 설저어 코드와 리스너 코드이다.@EnableKafka@Configurationpublic class KafkaConsumerConfig { @Bean public ConsumerFactory consumerFactory() {.. 카프카란 무엇인가? 카프카의 탄생 배경카프카는 미국의 대표적인 소셜 네트워크 서비스인 링크드인에서 처음 시작된 기술로, 링크드인 서비스가 급속도로 성장하면서 발생하게 된 여러 이슈들을 해결하기 위해 탄생했다. 링크드인 서비스가 성장하면서 어떤 상황에서 어떤 새로운 시스템에 대한 개발 요구가 높아졌길래 카프카가 탄생하게 된 것일까? 다음 그림은 카프카가 개발되기 전 링크드인의 시스템 구성도이다. 카프카 등장 전에는 각 서비스가 엔드투엔드로 연결되어 있었다. 이러한 엔드투엔드 연결 방식의 아키텍처는 많은 문제점이 있었다.첫 번째로, 통합된 전송 영역이 없으니 시스템 복잡도가 증가할 수밖에 없다. 따라서 문제를 발견하기 위해서는 이와 관련된 여러 데이터 시스템을 확인해야 했다.두 번째로, 데이터 파이프라인 관리의 어려움이다. .. 이전 1 다음