Kafka

From 탱이의 잡동사니
Revision as of 09:55, 2 March 2020 by Pchero (talk | contribs) (→‎Overview)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

Apache Kakfa 내용 정리

Basic

메시지 지향 미들웨어(Message Oriented Middleware: MOM)은 비동기 메시지를 사용하는 다른 응용 프로그램 사이의 데이터 송수신을 의미하는데 MOM을 구현한 시스템을 메시지큐(Message Queue: MQ) 라고 한다.

카프나는 Linked in 에서 개발한 분산형 스트리밍 플랫폼(A distributed streaming platform) 이다.

대용량 실시간 로그처리에 특화되어 설계된 메시징 시스템으로 TPS 가 매우 우수하고, 메시지를 메모리에 저장하는 기존 메시징 시스템과는 달리 파일에 저장을 하는데 그로 인해 카프카를 재시작해도 메시지 유실 우려가 감소된다.

기본 메시징 시스템(RabbitMQ, ActiveMQ)에서는 브로커(Broker)가 컨슈머(Consumer)에게 메시지를 push 해주는 방식인데, 카프카는 컨슈머가 브로커로부터 메시지를 직접 가져가는 PULL 방식으로 동작하기 때문에 컨슈머는 자신의 처리 능력만큼의 메시지만 가져와 최적의 성능을 낼 수 있다.