본문 바로가기
Kafka

MSK Cluster 간단 소개

by sinabeuro 2024. 2. 21.
728x90

 

MSK 이란

MSK (Amazon Managed Streaming for Apache Kafka)

- 완전관리형 Apache Kafka

 

 

 

카프카는 크게 Producer, Broker, Consumer 로 구성됩니다.

Kafka Cluster 부터 보시면 여러개의 Broker 로 구성되어있습니다. 

각각의 Broker 가 하나의 서버라고 보시면 됩니다. 

 

Kafka 는 실시간 데이터 플랫폼 또는 이벤트 스트리밍 플랫폼 입니다.

비동기 통신과 pub/sub 방식을 지원합니다. 

 

Producer 는 메시지를 발행하는 서버

Consumer 는 메시지를 받아서 처리하는 서버

 

Producer 에서 메시지를 발행(Publisher) 하고

Consumer 에서 토픽 단위로 구독(Subscribe) 하고 메시지를 소비(Consume) 합니다.

 

여기 Consumer 는 pull 방식으로 동작합니다. 

Consumer 서버가 메시지는 받을 수 있는 상태일 때, Broker 에 메시지를 요청해서 받습니다.

메시지 처리가 완료되면 Consumer 에서 acknowledge 사인을 broker 에 보내며, broker 에서 consumerGroup & topic 단위로 offset 을 기록합니다.

offset 은 어디까지 메시지를 읽었는지 나타는 숫자입니다. 

Consumer 에서 처리한 메시지 수가 증가할 때마다 offset 을 Broker 에 있는 offset 을 증가시키는 것이죠.

 

API 통신과 비교하면 API 통신은 데이터를 주는 쪽에서 Push 하는 방식으로 일방적으로 데이터를 전달합니다.

반면, Kafka 를 사용한 Pull 방식은 받는 쪽에서 데이터를 가져갑니다.

이를 통해 비동기 방식으로 통신을 바탕으로 데이터를 균등하게 분배하고, 일정 부분의 부하 방지, 높은 처리량을 보장합니다.

 


 

Kakfa 특징

Data Consistency (데이터 일관성)
- Topic 단위의 데이터 스토어. 
- 애플리케이션은 토픽을 통해 데이터를 주고받기 때문에 데이터 무결성을 보장.

Asynchronous Communication (비동기 통신)
- Produce to Broker, Broker To Consumer 비동기 통신 지원. 

Message Persistence (메시지 유지)
- Topic Message 기본 7일 저장, re-read 또는 재처리 가능.

Scalability 과 Compatibility(확장성, 호환성)
- Topic 단위로 서비스 관리 가능하고 Topic 을 손쉽게 추가할 수 있음. 
- MSK Connect Plugin 를 통해서 다른 자원과 연동이 용이함.

 

 

 

728x90

'Kafka' 카테고리의 다른 글

Kafka - Kafka Producing 성능 비교와 멱등성 조건  (0) 2024.06.02
kafka - Datadog Metrics Sink Connector  (0) 2023.08.10

댓글