티스토리 뷰
- KAFKA에 대해서 알아보자
- 카카오는 각 서버가 시스템 적으로 묶여 있어서 장애가 발생하면 동시에 다운되어 카프카를 이용하여 커플링을 줄여줌.
- 파티션은 8~20개로 설정하고 처리 속도에 따라 적절하게 설정하는 것이 중요함
- Kafka 기본 개념잡기
- Kafka 운영자가 말하는 처음 접하는 Kafka
- 파티션 순서에 따른 메시지 순서: 파티션의 개수가 여러개 일때 메시지는 파티션의 여러 위치에 저장되어 구독자가 메시지를 가져올 때 메시지의 발생 순서와 구독자가 받은 메시지의 순서가 꼭 일치하지는 않음.
- 메시지 처리 순서가 중요한 서비스는 Kafka를 이용하지 않는 것이 좋을 것 같고, 이용해야 한다면 파티션을 1개로 설정하던지 다른 방법을 통해 메시지의 순서를 정렬할 수 있는 방법을 찾아야 함
- Kafka 운영자가 말하는 Kafka Consumer Group
- 구독자 그룹(Consumer Group): 장애 복구성을 가질 수 있고, 분산 처리를 통해 빠른 메시지 처리가 가능함
- 카프카 설치 시 가장 중요한 설정 4가지
log.retention.hours=72
- 브로커에 로그 유지 시간. 데이터가 많아지면 복제에 의해 많은 용량이 필요할 수 있음. 적절한 시간 설정이 필요함.
delete.topic.enable=true
- 디스크 용량 확보를 위해 토픽을 삭제할 수 있도록 설정해야 함. 이 옵션을 설정하지 않으면 바로 삭제 되지 않고, 삭제 플래그에 체크만 됨
allow.auto.create.topics=false
- 선언하지 않은 토픽으로 메시지가 들어 올때 토픽을 자동으로 생성하지 않도록 설정.
log.dirs=/data
- 메시지가 저장되는 실제 경로를 정확하게 설정해야 함.
- 용량이 충분한 디스크를 설정하여 디스크 풀(Full)이 발생하지 않도록 잘 관리 해야 함
- LINE에서 Kafka를 사용하는 방법 - 1편
- 분산 큐잉 시스템과 데이터 허브로 이용
- 하나의 클러스터에 데이터를 집중하여 데이터 허브 컨셉으로 아키텍처를 단순하게 유지할 수 있고, 운영의 효율성을 얻을 수 있음
- 대량의 데이터를 처리하면서 높은 신뢰성을 확보
- 요청수를 제어. 안정성 확보를 위해 데이터의 양보다 요청수(request quota)를 제어 하는 것이 중요함
- 브로커의 스레드 시간을 제어하여 하나의 토픽으로 메시지가 몰려도 다른 작업에 영향이 가지 않게 함
- 한번에 처리할 수 있는 데이터양을 제어하여 다른 작업에 영향이 가지 않도록 설정해야 함
- 요청수를 제어. 안정성 확보를 위해 데이터의 양보다 요청수(request quota)를 제어 하는 것이 중요함
반응형
'빅데이터 > kafka' 카테고리의 다른 글
[kafka] golang kafka 클라이언트 SSL 설정 (0) | 2023.03.13 |
---|---|
[kafka] 분산 스트리밍 플랫폼 - 카프카 (0) | 2019.09.24 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- HIVE
- hbase
- error
- Linux
- nodejs
- Hadoop
- 하둡
- java
- HDFS
- S3
- SQL
- bash
- 정올
- AWS
- build
- 하이브
- airflow
- 다이나믹
- oozie
- SPARK
- yarn
- emr
- 백준
- Tez
- mysql
- 파이썬
- Python
- 오류
- 알고리즘
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함