Consumer consumer들은 각각 고유의 속도로 commit log로부터 순서대로 poll하게 된다. 다른 consumer group에 속한 consumer들은 서로 관련이 없고 또한, 한 partition의 commit log에 있는 record를 동시에 다른 위치에서 read가 가능하다. consumer offset consumer가 자동, 수동으로 읽은 데이터의 위치를 commit하여 다시 읽음을 방지한다. __consumer_offsets라는 internal topic(기본적으로 kafka를 설치하면 있는 topic)에서 consumer offset을 저장하여 관리한다. format 예시) GroupB:MyTopic:P0:8 partition이 2개 이상인 경우에는 모든 메시지에 대한 전체..
Producer 드디어 Kafka라는 분산 messageQ에 데이터를 밀어넣어주는 producer이다. 앞서 broker를 일꾼이라고 비유한 바가 있는데, 이 일거리들을 던져주는게 producer의 역할이라고 할 수 있다. Kafka에서는 데이터를 "메시지, 레코드, 이벤트" 등으로 부르고는 한다. 사용하는 사람에 따라 편한 용어를 쓰는 것 같다.(필자는 해당 글에서 record라고 지칭하도록 하겠다.) Record Kafka에서 들어오는 데이터인 record는 다음과 같이 두 부분으로 나뉜다. Header: topic, partition, timestamp 등의 metadata Body: key, value(Avro, Json 등의 다양한 포맷의 형태) 다음과 같이 웹에서 request와 비슷하게 he..
Kafka-Broker & Apache Zookeeper 우선 Broker와 Zookeeper는 Kafka Cluser의 기본적인 요소라고 할 수 있다. 간단하게 설명하면 Broker는 직접 분산처리를 하는 일꾼이고 Zookeeper는 그것을 관리하는 관제탑이라고 비유할 수 있다. 설명을 들어가기전 전체적인 그림을 먼저 봐보자. 위 그림에서 처럼 Broker는 Producer와 Consumer를 통해서 메시지를 읽고 처리하는 kafka의 messageQ의 메인 로직을 실행하지만 Zookeeper는 그 로직이 잘 수행될 수 있도록 관리를 해주는 소프트웨어이다. Broker Kafka에서 broker는 Partition에 대한 read/write를 관리하는 소프트웨어이다. producer에서 데이터를 각 p..
Kafka에서 가장 기본이 되는 Topic은 메시지(=레코드, 이벤트, 데이터)들이 저장되는 논리적인 개념이다. 각 Topic은 용도에 맞게 만들어서 데이터를 저장하게 된다. ex) 서버 모니터링, 어플리케이션 로그 데이터 등.. Kafka 사전 지식 Kafka에는 Topic과 연관된 여러 개념들이 있다. 나중에 설명하겠지만 미리 설명해보자면, 1. producer: 메시지를 생산 및 Kafka의 Topic으로 보냄 2. consumer: Topic의 메시지를 소비 3. consumer group: 협력하는 consumer들의 모임(분산, 병렬처리를 가능하게 함) 4. commit log: 추가만 가능하고 변경 불가능한 Data Structure. 메시지는 항상 로그 끝에 추가된다.(한번 추가되면 변경이..
LVM(논리 볼륨 관리) 물리장치: 블록 장치로 디스크 파티션, 전체 디스크, RAID 어레이 또는 SAN디스크가 될 수 있다. PV(물리 볼륨): 장치를 LVM 시스템에서 사용하려면 물리 볼륨으로 초기화해야 한다. VG(볼륨 그룹): 하나 이상의 물리 볼륨으로 구성된 스토리지 풀 LV(논리 볼륨): 볼륨 그룹에서 사용하지 않는 물리 확장 영역으로 생성되며 애플리케이션, 사용자 , OS에서 사용하는 “스토리지”장치를 제공한다. 물리 장치 준비 parted -s /dev/vdb mkpart primary 1MiB 769MiB parted -s /dev/vdb mkpart primary 770MiB 1026MiB parted -s /dev/vdb mkpart set 1 lvm on parted -s /dev..
- Total
- Today
- Yesterday
- apache kafka
- API
- NextJS
- spring boot
- cs
- Container
- feign client
- 리액트
- Producer
- K8S
- broker
- centos
- Data Engineering
- consumer
- Firebase
- Front
- OS
- zookeeper
- React
- caching
- 프론트엔드
- rhel
- frontend
- Linux
- backend
- apache
- Java
- JPA
- spring
- KAFKA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |