RabbitMQ와 Kafka
·
Kafka
RabbitMQ메시지를 생산자(Producer)로부터 받아 큐에 저장하고, 이를 소비자(Consumer)가 관리.메시지가 처리되면 큐에서 제거됨(일회성 메시지 처리).AMQP (Advanced Message Queuing Protocol) 표준을 따름. Kafka메시지를 토픽으로 저장하며, 파일 시스템 기반의 로그 관리.메시지는 여러 소비자가 독립적으로 읽을 수 있음.메시지는 제거되지 않고, 지정된 기간 동안 유지.특징RabbitMQKafka메시지 전달 방식Push (브로커가 소비자에게 전달)Pull (소비자가 직접 가져감)메시지 보관처리 후 큐에서 삭제됨토픽에 로그 형태로 저장, 유지기간 동안 재처리 가능메시지 순서 보장큐 단위에서만 보장파티션 단위에서 보장내구성디스크 또는 메모리에 저장 가능디스크에 ..
spring kafka vs apache kafka
·
Kafka
apache kafkaapache Kafka 공식 라이브러리.Kafka 클라이언트를 제공하여 Kafka 브로커와 직접 통신하도록 지원.spring kafkaSpring Framework의 Kafka 통합 라이브러리.org.apache.kafka를 기반으로 하고 있으며, Spring 애플리케이션에 친화적인 기능을 추가.spring boot에서 apache kafka를 조금 더 편리하게 사용할 수 있도록 한 라이브러리가 spring kafka이다.예시apache kafka(저수준 API) producer.close()를 명시적으로 호출해야 자원을 적절히 해제할 수 있음.Spring과의 통합 기능이 없어 별도로 관리해야 함. import org.apache.kafka.clients.producer.KafkaP..