일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- touchmove 이벤트
- EC2 HTTPS로 연결
- 자바스크립트 변수 호이스팅
- 자바스크립트 논리합 연산자
- 자바스크립트 중첩함수
- 로현 청춘의개발
- net::R_SSL_PROTOCOL_ERROR
- ios 크로스브라우징
- 자바스크립트 호이스팅
- activeElement
- refetchOnWindowFocus
- Purdue university
- K-SW SQUARE
- 모던 자바스크립트 Deep Dive
- React Query
- 자바스크립트 스코프 체인
- 자바스크립트 렉시컬스코프
- 자바스크립트 null 병합
- 리액트 쿼리
- 자바스크립트
- 퍼듀대학교
- Kafka
- but requested an insecure XMLHttpRequest endpoint 'http://~~’. This request has been blocked; the content must be served over HTTPS.
- 사파리 가상키보드
- 자바스크립트 옵셔널 체이닝
- 모두의시간
- active blur
- 리액트 가상키보드
- AWS 로드밸런서
- 자바스
- Today
- Total
개발 여행자, 현
[Kafka] 카프카란? 본문
[Kafka] 카프카란?
: 고성능 데이터 파이프라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션을 위해 오픈 소스 분산 이벤트 스트리밍 플랫폼https://kafka.apache.org/
장점
- 프로듀서/컨슈머 분리
- 메시지 데이터를 여러 컨슈머에게 허용
- 높은 처리량을 위한 메시지 최적화
- 스케일 아웃 가능
- 관련 생태계 제공
카프카 클러스터
: 메시지를 저장하는 저장소
- 하나의 클러스터는 여러개의 브로커로 구성
- 브로커는 각각의 서버
- 카프카 클러스터를 관리하는 용도로 주키퍼 클러스터가 필요. 카프카 클러스터에 대한 정보를 갖고있음
Producer : 메시지(event)를 발행하여 생산(Write)하는 주체
- 메시지를 카프카에서 읽어오는 것을 컨슈머라고 함.
- 카프카에서 메시지를 저장하는 단위는 토픽
: 프로듀서는 라운드로빈 또는 키로 파티션 선택
- 한 개의 토픽은 한 개 이상의 파티션으로 구성
: 같은 키를 갖는 메시지는 같은 파티션에 저장이 됨.
- 각 메시지 저장 위치를 오프셋 offset이라고 함
저장된 메세지는 차례대로 오프셋 0,1,2,3 등 값을 갖게됨
- 프로듀서가 넣은 메시지는 파티션의 맨 뒤에 추가
Consumer : 메시지(event)를 구독하여 소비(Read)하는 주체
- 컨슈머는 offset 기준으로 마지막 커밋 시점부터 메시지를 순서대로 읽음
- 메시지는 읽어가도 삭제되지 않음
Broker : 각각의 카프카 서버, 동일 노드에 여러 브로커를 띄울 수 있음
Zookeeper : 카프카 클러스터 정보 / 분산처리 관리 등과 관련된 메타데이터 저장
- 카프카 실행 전 반드시 실행되어야 함
Topic : 메시지를 구분하는 단위
- 파일시스템의 폴더와 메일함과 비슷한 개념 ex) 주문용 토픽, 결제용 토픽 등
- 한 개의 Topic은 한 개 이상의 Parition으로 구성
Partition : 메시지를 저장하는 물리적인 파일
- 메시지 추가만 가능한(append-only)파일
offset : Partition내 각 메시지가 저장된 상대적 위치
- Producer를 통한 Message는 Paritition 맨 뒤에 추가 (Queue)
'백엔드' 카테고리의 다른 글
[Docker] Docker Compose ELK 구축 (0) | 2023.02.28 |
---|---|
[ELK] ELK 설치 (0) | 2023.02.28 |
[Kafka, Springboot] 스프링부트 카프카 연동하기 (0) | 2023.02.28 |