Kafka란??
- '빅'데이터 시대에 진정한 빅 데이터 처리 및 소화 가능한 솔루션
- LinkedIn이 만든 분산 메세지 시스템임.
- 길게는 A high-throughput distributed messaging system.
- 짧게는 처리량 쩌는 분산 메세지 시스템.
- 종종 scribe와 flume과 많이 비교가 되지만, 아키텍처 관점에 볼때는 RabbitMQ나 ActiveMQ같은 전통적인 메세징시스템에 더 가깝다!
장점은?
- 확장 가능
- 처리량 높음
- 분산처리 가능
- 응답 속도가 높음
- 데이터 디스크 저장
카프카 이용사례
- 링크드인: 실시간 Activity data를 수집에 적용
- 데이터시프트: 실시간 빅데이터 콜렉터로 사용
- 트위터: 스톰과 연계해서 사용
- 포스퀘어: 온라인, 오프라인 메세징 시스템에 적용
- 어떻게 동작함?
- Apache Kafka는 Zookeeper에 의해 관리 되며, Producer, Broker, Consumer로 나눠져 있다.
- 시스템에서 발생되는 메세지를 Producer가 Broker로 던져주고, Broker가 이 메세지를 분산 처리, Consumer가 처리된 데이터를 디스크에 저장하는 구조
- 성능은?
SSD : Broker 1대일때 56MB/s, 2대 일때 74.9MB/s, 3대 일때 96.6MB/s Throughput
HDD : Broker 1대일때 20.4MB/s, 2대 일때 35.8MB/s, 3대 일때 45.4MB/s Throughput
- 그래서 결론은?
Disk는 SSD를 사용하는 걸 권장하고, Broker의 수가 증가함에 따라 Throughput은 증가 한다.
Broker가 많다면 네트워크 bandwidth에 신경을 써야 함.
'빅데이터 > 처리' 카테고리의 다른 글
[Storm] Grouping 4가지 (0) | 2015.04.26 |
---|---|
Kafka or Flume? 고민될때.. (0) | 2015.04.26 |
[Flume] 컴포넌트들 (0) | 2015.04.26 |
[Flume] 활용방안 8가지 (0) | 2015.04.26 |