일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- coding test
- 이것이 자바다
- s
- stream
- insertion sort
- buffer
- 메모리구조
- 윤성우의 열혈 자료구조
- Selection Sorting
- 이스케이프 문자
- JSON
- C programming
- Stack
- datastructure
- Serialization
- 알기쉬운 알고리즘
- C 언어 코딩 도장
- Algorithm
- R
- Graph
- 윤성우 열혈자료구조
- list 컬렉션
- 혼자 공부하는 C언어
- Today
- Total
Engineering Note
[Kafka] 카프카, 이벤트기반 메시징 시스템 용어 정리 본문
Message Queue(메시지 큐)
- 분산환경 시스템에서 시스템 간의 데이터를 교환하기 위해 사용하는 기법
- 데이터의 생산자와 소비자간의 비동기적 통신이 가능하게 한 시스템
Message Queue(메시지 큐)의 한계
- Queue에 쌓인 데이터(메시지)를 한 명의 소비자가 읽는 구조.
- Pruducer(Publisher, 생산자)가 발행한 메시지를 큐에 저장하고 Consumer(소비자)가 사용하는 구조인데, 이렇게 한 명의 소비자가 사용한 후에는 다른 Consumer가 재사용할 수 없음. 이러한 Message Queue의 한계를 극복하기 위해 Kafka는 Pub/Sub 모델을 사용
Pub/Sub 모델
- Message Queue에서 제한된 메세지 재사용의 한계점을 보완해주는 모델
Pub/Sub 모델 장점
- Pub/Sub 모델은 메시지 생산자와 소비자 간의 결합을 느슨하게 하는데, 생산자와 소비자가 1:1로 메세지를 전달하지 않고 중앙 시스템을 통해 전달하게 한다.
- 메세지 발행자는 특정 Topic(주제)에 데이터를 발행하고, 구독자는 관심있는 주제에 대해서만 데이터를 수신한다.
Kafka
- 이벤트 기반 메시징 시스템(미들웨어)을 구축하기 위한 오픈소스 프레임워크
- 메세지는 큐에 저장되어 데이터 소비자가 필요할 때 사용할 수 있는데, Kafka는 메세지 큐의 기능을 강화하여 수많은 소비자가 동시에 데이터를 처리할 수 있게 설계 되어 많은 기업, 개발자가 사용.
- Kafka는 Pub/Sub 모델을 활용하여 다양한 데이터 소스와 소비자가 상호 작용할 수 있게 한다.
- 데이터를 Topic 별로 분리하고, 여러 파티션에 분산 저장하는데, 이를 통해 여러명의 소비자가 병렬로 데이터를 처리하게 함.
- 이러한 방식으로 Kafka는 실시간 스트리밍 애플리케이션에서 데이터 흐름을 효율적으로 관리한다.
이벤트 기반 비동기 아키텍처에서 용어 및 역할
Producer
- 이벤트(메시지)를 Kafka에 발행하는 역할의 공급자 (예: API 서버)
Broker
- Kafka의 핵심 컴포넌트로, Producer가 보낸 메시지를 안전하게 저장하고, Consumer가 각자 필요할 때 꺼내서 처리할 수 있게 하여, 이벤트 기반 비동기 처리를 지원하는 “중계(버퍼)” 역할 (Kafka 서버 자체)
Consumer
- Kafka에 쌓인 이벤트(메시지)를 구독/수신해서 실제로 처리(알림, 저장 등)하는 소비자(서비스/서버)
참고 자료 : https://www.elancer.co.kr/blog/detail/738
'Server' 카테고리의 다른 글
[Kafka] Kafka를 사용하는 이유(비동기는 기본, 느슨한 결합으로 확장성있는 아키텍처 지원) (1) | 2025.08.27 |
---|---|
[Kafka] SpringBoot Kafka 연동, Docker 기반 Kafka 서버 구축 실습 (0) | 2025.08.26 |
[Spring] Spring Framework와 Servlet 그리고 DispatcherServlet (3) | 2025.08.08 |
[Server] 서버에 index.html 띄우고 접속하기 (0) | 2025.08.04 |
[Kafka] SpringBoot Kafka 연동, Docker 기반 Kafka 서버 구축 실습 (0) | 2025.07.19 |