공부하다죽어라
article thumbnail
Published 2021. 6. 14. 23:49
[Kafka] Apache Kafka란 개발/Kafka

 

Kafka

아파치 카프카(Apache Kafka)는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트입니다.

 

 

메시지 브로커란 ?

송신자의 이전 메시지 프로토콜로부터의 메시지를 수신자의 이전 메시지 프로토콜로 변환하는 중간 컴퓨터 프로그램 모듈입니다.

 

메시지 브로커

 

다시 Kafka로 돌아가서..

kafka는 실시간 데이터 피드를 관리하기 위해 통일된, 높은 처리량, 낮은 지연시간을 지닌 플랫폼을 제공하는 것이 목표입니다. 즉, 분산 트랜잭션 로그로 구성된 상당히 확장 가능한 pub/sub 메시지 큐로 정의할 수 있으며, 스트리밍 데이터를 처리하기 위한 기업 인프라를 위한 고부가 가치 기능입니다.

 

우리나라 기업중 카카오가 kafka를 사용한다고 합니다.

 

🧤 Kafka를 왜 사용하나요?

카프카 사용 이전 시스템 구조는 End-to-End 연결 방식의 아키텍쳐를 사용했습니다.
이 때문에 데이터 연동의 복잡성이 증가했고 서로 다른 데이터 Pipeline을 가질 수 밖에 없었습니다. 

확장이 어려운 구조라는 특징도 있습니다.

 

모든 시스템으로 데이터를 실시간으로 데이터를 전송하고 데이터가 많아지더라도 확장성이 용이한 시스템을 도입하기위해 Kafka가 탄생했습니다.

 

🧤 Kafka를 사용하면 무엇이 좋나요?

 

1. Producer / Consumer

메시지를 보내는 Producer와 메시지를 받는 Consumer를 나누어서 작업할 수 있습니다.


2. 메시지를 여러 컨슈머에게 허용

하나의 어플리케이션으로부터 받은 메시지를 다수의 Consumer에게 전달할 수 있습니다.


3. 높은 처리량을 위한 메시지 최적화

이 때문에 대용량 데이터를 처리하는 환경에서 Rabbitmq보다 kafka를 선호합니다.

 

'개발 > Kafka' 카테고리의 다른 글

[Kafka] Kafka broker 및 용어 정리  (1) 2021.06.17
profile

공부하다죽어라

@슥혁

감사합니다 👍🏻