본문 바로가기
데이터 엔지니어( 실습 정리 )/kafka

(2) - kafka 브로커, 레플리케이션

by 세용용용용 2024. 7. 12.

1. kafka broker : 카프카 서버

- 카프카 클러스터에 데이터를 저장 및 관리하는 역할 ( 고가용성 위해 3개 이상 서버 추천 )

 

 

2. kafka replication : 파티션 복제의 의미

첫번쨰 >>> 파티션1, 레플리케이션3

두번쨰 >>> 파티션1, 레플리케이션2

  • 파티션은 같은 서버에 복제 되는것이 아닌 분산되어 복제!!! ( 고가용성 )
  • 무한정 복제는 x, kafka broker 개수에 따라 제한
  • 원본 파티션은 리더, 나머지는 팔로우 ( 데이터 받는 주체는 리더 파티션!!!!! )
kafka producer : ack 옵션!!
  1. ack = 0
    • leader 파티션에 데이터 전송후 응답 받지 않음
    • 속도는 빠르긴한디.... 데이터 유실 가능성이 있음
  2. ack =1
    • leader 파티션에 데이터 전송후, leader 파티션이 데이터 정상여부 응답값 받음
    • 그러나... 팔로워 파티션 브로커가 장애시 알수 없음, 데이터 유실 가능성...
  3. ack = all
    • 파티션 리더뿐 아닌 팔로워 파티션 복제까지 정상여부 응답 받음
    • 데이터 유실은 없지만,, 속도가 느린 단점 존재

### replication은 고가용성 역할을 하지만 복제본이 많이지면 broker 리소스 사용량도 같이 늘어남... 적절히 생성 ###

 

 

3. ISR : 리더 파티션의 데이터가 모든 ISR 복제본에 안전한 복제를 보장하는 역할

ISR 동작 방식
  • 각 토픽은 여러 파티션으로 나눠짐, 파티션은 replication 설정에 따라 리더와 여러 팔로워로 구성
  • 리더 파티션이 데이터를 받으면, ISR에 속한 팔로워 에게 데이터를 동기화 하여 전파

ISR은 카프카의 분산 환경에서 데이터의 신뢰성과 일관성을 유지하며( 동기화 보장 ), 고가용성을 제공하는 중요한 메커니즘입니다

'데이터 엔지니어( 실습 정리 ) > kafka' 카테고리의 다른 글

kafka 간단 실습  (0) 2024.09.02
(4) - kafka consumer Lag, Burrow  (0) 2024.07.16
(3) - kafka 컨슈머  (0) 2024.07.13
(1) - kafka 개요  (0) 2024.07.12