Kafka 지식 회고

1780 단어 빅 데이터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 까지 낮은 단계 의 소 비 를 통 해 데 이 터 를 잃 어 버 리 지 않도록 보증 할 수 있 습 니 다.
 
 
 

좋은 웹페이지 즐겨찾기