Kafka

카프카와 메세지 큐

라우브 2021. 5. 9. 19:21

1. Kafka란?

카프카는 메세지 큐의 한 종류이다. 링크드인에서 개발했으며, 파편화된 데이터 파이프라인을 한 곳에 모아 처리할 수 있도록

중앙집권화하기 위해 만들어졌다.

 

2. 메세지 큐

2.1 메세지 큐란?

메시지 지향 미들웨어(영어:Message-oriented middleware, MOM)는 응용 소프트웨어 간의 데이터 통신을 위한 소프트웨어이다. 메세지 큐는 이 메세지 지향 미들웨어를 구현한 시스템이다.

(메세지 지향 미들웨어가 인터페이스라면 메세지 큐는 구현체 정도 .. ?)

 

2.2 메세지 큐 사용 목적

비동기 처리

API Server에서 Storage에 특정 데이터를 저장해야 하는 상황이라고 가정하자. 아주 높은 확률로 API Server는 다수의 사용자 요청을 처리하느라 바쁜 환경일 것이다. 이처럼 가뜩이나 바쁜 API Server가 데이터베이스와 커넥션을 맺고 데이터를 저장하고 응답을 기다리는 것은 매우 비효율적이다.

 

만약, 메세지 큐를 사용한다면 API Server측에서는 데이터베이스에 저장되는 과정을 기다릴 필요가 없다. 데이터 베이스 저장 관련 로직을 메세지 큐 이후 컴포넌트에게 모두 위임하고, API Server는 사용자 요청 처리에 집중할 수 있게된다.

 

 

 

과잉 (Redundancy)

Storage에 데이터 저장을 실패하더라도 Message Queue에 데이터를 보존함으로써 나중에 재시도가 가능하다.

 

그 밖에도 다양한 프로세스의 데이터를 메세지 큐로 전송할 수 있다는 확장성, 다양한 데이터 파이프라인을 한 곳에서 관리할 수 있다는 편의성 등 다양한 이점들이 있어서 사용한다.
참고 자료

 

메시지큐(Message Queue) 알아보기

Ref. https://12bme.tistory.com/176 메시지 큐 개념을 다시 잡아보고자 학습용도로 작성한 포스팅입니다. 출처는 http://zzong.net/post/3 입니다. 메시지 지향 미들웨어(Meesage Oriented Middleware: MOM)은..

sugerent.tistory.com

 

 

 

'Kafka' 카테고리의 다른 글

카프카의 구성요소와 특징  (0) 2021.05.10