본문 바로가기
컴퓨터 지식/블록체인

Apache Kafka - 메세징, 실시간 로그처리 시스템

by LiveData 2019. 6. 11.
반응형

Apache Kafka(아파치 카프카)는 linkedln에서 개발된 분산 메시징 시스템으로써 2011년에 오픈소스로 공개되었다.

대용량의 실시간 로그처리에 특화된 아키텍처 설계를 통하여 기존 메시징 시스템보다 우수한 TPS

 

 

Kafka는 발행-구독(publish-subscribe) 모델을 기반으로 동작 하며 producer, consumer, broker로 구성

 

 

 

broker는 topic을 기준으로 메시지를 관리한다.

1. Producer는 특정 topic의 메시지를 생성한 뒤 해당 메시지를 broker에 전달한다. 

2. Broker가 전달받은 메시지를 topic 별로 분류하여 쌓아놓는다.

3. 해당 topic을 구독하는 consumer들이 메시지를 가져가서 처리하게 된다.

 

 

 

broker들이 클러스터로 구성되어 동작하도록 설계, broker가 1개라도 동작, 분산처리기

특징

 - 확장성(scale-out)

 - 고가용성(high availability)

 

 

 

기존 메시징 시스템과의 차이점

- 대용량 실시간 로그 처리에 특화, TPS 우수 but, 범용적이지는 않다.

- 분산시스템 설계로 기존 메시징 시스템에 비해 분산 및 복제 구성이 쉽다.

- 다수의 메세지를 개별적으로 전송할 때 각 메시지를 개별적으로 전송하는 기존 메시징과 달리 다수의 메세지를 배치형태로 broker에게 한 번에 전달할 수 있어 TCP/IP 라운드트립 횟수를 줄일 수 있다.

- 데이터를 파일 시스템에 저장하기 때문에 영속성(durability)을 가진다.

- 파일 시스템으로 데이터가 많아도 성능이 느려지지 않음 (이건 좀 의문)

- 파일 시스템에서 데이터는 시간이 지남에 따라 삭제된다.

 

 

결론

기존 메세징 시스템보다 확장성과 가용성이 좋기때문에 사용하기 좋은 분산메세징 시스템이다. 

 

참조

https://epicdevs.com/17

반응형

'컴퓨터 지식 > 블록체인' 카테고리의 다른 글

Hyperledger Caliper 설치하기  (1) 2019.10.28
도커 설치  (0) 2019.10.09
[node.js] Promise를 이용한 비동기 처리  (0) 2019.06.19
Linux에 Apache 설치하기  (0) 2019.06.13
우분투(Ubuntu)에 tomcat(was) 설치하기  (0) 2019.06.12