Kafka는 뭐하는 친구일까?

Sihwan Kim·2024년 2월 22일
0
post-thumbnail

사용용도

Event/Message전송


장점

고가용성, 빠른처리


단점

순서보장 어려움.


Kafka와 Zookeeper 역할

Zookeeper : 클러스터의 모든 메타정보(Controller 정보, 선출 Broker 정보 등)

Broker : 실제 데이터를 받아 저장

Controller : Broker의 마스터 => topic, partition 생성, 복제본 관리

참고 서비스

CMAK : KAFKA Cluster를 관리하는 GUI 툴


Kafka Object

Topic

폴더, 특정 목적으로 생성된 data

Partition

폴더의 하위개념으로 분산을 위해 나누어 처리

Replica

Leader의 장애를 대응하기 위해 만든 복사본

Producer

data를 Publishing하는 주체

Consumer

data를 Subscribe하는 주체

비슷한 서비스 RabbitMQ와의 차이

RabbitMQ

RabbitMQ도 메시지 브로킹 시스템

Kafka는 Pull 형태로 Consumer가 어떻게 가져갈지가 중요함.

RadditMQ는 Push 형태로 Producer가 어떻게 전달하는지가 중요함.

즉, Kafka는 보내는건 아무렇게나, 받는 사람은 제약을 정해서.

RadditMQ는 연결을 가지고 보내는 사람이 누구에게 어떻게 보낼지 정함.

Kafka => 1m msg per sec

RadditMQ => 10k msg per sec (+logic)

RadditMQ는 넣는 로직(Push)을 변경하는 것이 쉽게 가능

Kafka는 더 큰 양을 안정적으로 처리 가능.

0개의 댓글