본문 바로가기

Developing

Apache Kafka - Consumer

Messaging은 전통적으로 queuing과 publish-subscribe로 나눌 수 있다.

Queue는 기존적인 자료 구조인 queue라고 보면 된다. Queue에서 데이터를 한번 읽으면 지워지게 된다. 그렇기 때문에, 여러개의 consumer가 한가지 queue를 읽을 경우, 각 consumer는 전체 데이터의 일부만 읽게 되는 것이다.

Publish-subscribe는 message를 queue와는 달리 broadcast해서 모든 consumer에게 전달하는 것을 의미한다. 이런 경우에 여러개의 consumer가 동시에 전체 데이터를 다 읽을 수 있다.

Apache Kafka의 경우 위에서 언급한 두가지 모델을 모두 포함하는 구조이다.

Consumer가 같은 consumer group 안에 있게 되면 queue의 구조를 따른다. 같은 consumer group은 동일한 queue에서 번갈아가며 데이터를 읽게 된다. 하지만 다른 consumer group이라면 consumer들은 각기 전체 데이터를 동시에 읽게 된다.(publish-subscribe) 즉 consumer group은 "logical subscriber"라고 볼 수 있다.

아래 그림을 통해 명확히 알 수 있다...

'Developing' 카테고리의 다른 글

[개발 배포 환경 1] Docker란  (1) 2017.12.02
네트워크 통신 프로토콜 정리  (3) 2012.04.30
데이터 단위  (0) 2012.01.30
MySQL 설치 실행 - CentOS  (0) 2011.10.19
리눅스 종류  (0) 2011.09.07