목록공부/Kafka (2)
개발 공부 & 정리

카프카 란? : 카프카는 비동기 통신 방식을 매우 큰 규모로, 매우 빠르게 처리할 수 있게 개발된 애플리케이션 카프카 특징 강력한 메시지 처리 성능 (High Throughput) 빠른 수평 확장성 (Scale-Out) 고장 감내성 / 고가용성 (Fault-Tolerance / High availability) 1. 강력한 메시지 처리 성능 디자인 특징 - 분산 시스템 구성 : 동일한 역할을 하는 서버를 추가하여 부하를 분산시킨다. -> 단일 시스템보다 높은 성능 - 페이지 캐시 : OS가 물리 메모리에 애플리케이션 사용 부분 할당! 잔여 메모리 일부를 페이지 캐시로 유지 -> Disk I/O 가 줄어 성능 향상 카프카는 OS의 페이지 캐시를 이용 - 배치 전송 처리 : 잦은 I/O는 속도 저하의 요인이..
Kafka vs RabbitMQ vs REST 메시징 모델 Req/Res Pub/Sub HTTP ✔️ 지원 ❌ 미지원 Kafka ❌ 미지원 ✔️ 지원 AMQP on RabbitMQ ✔️ 지원 ✔️ 지원 ZeroMQ ✔️ 지원 ✔️ 지원 JMS on ActiveMQ ✔️ 지원 ✔️ 지원 참조: https://en.wikipedia.org/wiki/Messaging_pattern#%C3%98MQ https://en.wikipedia.org/wiki/Java_Message_Service#Models 구조 메시지 도착 보장 리플레이 Kafka ❌ 미지원 ✔️ 지원 RabbitMQ ✔️ 지원 ❌ 미지원 Kafka: 멍청한 브로커와 똑똑한 컨슈머: 메시지를 실제로 소비했는지 안 했는지를 브로커가 체크해주지 않고, ..