Kafka 지식 회고
1. 결합 풀기
2. 삭 봉
kafka 기본 구조 와 message 구조
kafka 는 프로듀서, broker, consumer 로 구성 되 어 있 습 니 다.
message 는 key 와 value 로 구성 된다.
key 가 비어 있 지 않 으 면 hashcode 값 에 따라 파 티 션 에 분 배 됩 니 다.
key == null
이 있 으 면 sendPartition PerTopicCache (sendPartitionPerTopicCache
의 유형 은 HashMap.empty[String, Int])
에서 파 티 션 ID 를 가 져 오고 찾 으 면 이 파 티 션 ID 를 직접 사용 합 니 다.그렇지 않 으 면 파 티 션 Id 를 무 작위 로 선택 하고 파 티 션 Id 를 sendPartitionPerTopicCache
에 저장 합 니 다.그리고 sendPartitionPerTopicCache
topic. metadata. refresh. interval. ms 시간 마다 비 워 집 니 다.kafka 는 왜 고급 API 를 사용 하지 않 고 offset 을 자동 으로 유지 합 니까?
우선 높 은 단 계 는 고정된 시간 간격 으로 offset 을 제출 하 는 것 입 니 다. 만약 에 일부 데이터 가 오 면 소비자 들 이 소비 데 이 터 를 미 처 사용 하지 못 했 습 니 다. 이때 시간 간격 이 되 어 offset 의 값 을 제출 했 습 니 다. 이때 소비자 들 이 끊 었 습 니 다. 그러면 다음 에 소비 자 를 시작 할 때 우리 offset 의 값 은 예전 의 것 이기 때문에 이 럴 때 데 이 터 를 잃 어 버 릴 수 있 습 니 다.
만약 에 이 데이터 가 올 때 처리 가 매우 빠르다 면 이때 아직 오지 않 았 고 offset 의 값 을 제출 하지 않 았 습 니 다. 소비자 가 다운 된 후에 다시 소비 자 를 시작 하면 데이터 중복 소 비 를 초래 할 수 있 습 니 다.
kafka 분 구 분배 원칙
1. range 범위 할당, roudrobin 폴 링 할당
kafka 어떻게 높 은 삼투 실현
kafka 의 분 구 는 한 분 구 는 같은 시간 에 같은 소비자 그룹 안의 한 소비자 에 게 만 소비 된다.
kafka 의 구역 수 와 소비자 수량 이 같 을 때 가장 높 은 삼투 를 실현 합 니 다.
kafka 는 어떻게 데이터 의 신뢰성 을 보증 합 니까?
producer 는 세 가지 모델 이 있 습 니 다. 0, - 1, 1.
0 대표 소 비 는 broker 구역 의 leader 에 게 보 낸 후에 상관 하지 않 고 신뢰성 이 낮다.
1 대표 가 leader 에 게 데 이 터 를 보 내 고 데이터 가 떨 어 지면 leader 는 producer 에 게 ack 응답 을 하고 producer 는 데이터 가 떨 어 지 는 것 을 확인 한 후에 계속 실행 합 니 다.
- 1 대 표 는 데이터 가 leader 나침반 에 전 송 된 후에 follow 에 게 leader 에서 데 이 터 를 끌 어 와 서 디스크 에 떨 어 뜨 려 야 produce 에 응답 할 수 있 습 니 다.
broker 에서 consumer 까지 낮은 단계 의 소 비 를 통 해 데 이 터 를 잃 어 버 리 지 않도록 보증 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark 의 2: 원리 소개Google Map/Reduce 를 바탕 으로 이 루어 진 Hadoop 은 개발 자 에 게 map, reduce 원 어 를 제공 하여 병렬 일괄 처리 프로그램 을 매우 간단 하고 아름 답 게 만 들 었 습 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.