전체 글144 [Kafka] 7. Kafka Classic Rebalancing (Eager vs Cooperative) 0. 개요팀에서 카프카를 사용해서 공부하는 중이다.학습에는 '쉬운 코드' 유투브 채널과 카프카 공식 문서 참고했다. https://www.youtube.com/@ezcdhttps://kafka.apache.org/ Apache KafkaApache Kafkakafka.apache.org 1. Eager 방식에서 Rebalancing 되는 과정*Eager 리밸런싱 프로토콜: “기존 할당을 전부 반납한 뒤 새로 전체 할당”하는 방식 1) 새로운 Consumer가 합류 : 리밸런싱이 필요한 상황 발생(새로 합류한 컨슈머는 member.id가 아직 없는 상황) 2) 그룹 내 컨슈머의 리밸런싱 감지 및 참여(JoinGroup) 요청(리밸런싱 감지 시나리오는 여러가지다. 여기서는 heartbeat로 설명한다.)*C.. 2026. 9. 23. [Kafka] 6. Kafka Rebalancing이란? 0. 개요팀에서 카프카를 쓰길래 공부하는 중이다.학습에는 '쉬운 코드' 유투브 채널과 카프카 공식 문서 참고했다. https://www.youtube.com/@ezcdhttps://kafka.apache.org/ Apache KafkaApache Kafkakafka.apache.org 1. Rebalancing이란?: Consumer Group이 구독하는 topic들의 파티션들을 그룹 내의 consumer들에게 분배(재할당)하는 것을 의미한다. - 같은 group.id의 consumer들이 topic(s)을 subscribe()해야 자동 rebalancing의 이점을 누릴 수 있다. - rebalancing은 consumer group 단위로 이루어진다. Consumer는 언제 Rebalancing이 .. 2026. 9. 21. [Kafka] 5. Kafka Consumer란? 0. 개요팀에서 카프카를 쓰길래 공부하는 중이다.학습에는 '쉬운 코드' 유투브 채널과 카프카 공식 문서 참고했다. https://www.youtube.com/@ezcdhttps://kafka.apache.org/ Apache KafkaApache Kafkakafka.apache.org 1. Kafka Consumer란? : Kafka Topic에 저장된 Record를 Broker로부터 가져와 처리하는 클라이언트 Consumer Group: 같은 consumer group에 속하는 consumer들은 토픽의 Partition들을 나눠서 구독(subscribe)→ 처리량 향상- group에 consumer가 추가가되면, 새로 추가가된 consumer가 partition들을 나눠 가져가서 구독한다 = reb.. 2026. 9. 18. [Kafka] 4. Kafka Leader Epoch란? (Leader Down으로 인한 데이터 정합성 문제 해결) 0. 개요팀에서 카프카를 쓰길래 공부하는 중이다.학습에는 '쉬운 코드' 유투브 채널과 카프카 공식 문서 참고했다. https://www.youtube.com/@ezcdhttps://kafka.apache.org/ Apache KafkaApache Kafkakafka.apache.org 1. Leader Down과 데이터 정합성 문제읽어올 값은 없지만, 두 데이터가 다름. → 정합성 깨짐.ISR에 복귀를 하고, FetchRequest와 FetchResponse를 해도 여전히 데이터 차이가 발생함. 2. 정합성 문제 해결 - HW 부터 그 이후 레코드는 버리자! (KP-101 이전 시대)[규칙]1. 레플리카가 재시작 됐거나 복구 됐을 때 해당 레플리카의 HW부터 이후 레코드들을 모두 삭제 (리더, 팔로워 .. 2026. 9. 18. [Kafka] 3. Kafka Replication (Commit과 High Watermark) 0. 개요팀에서 카프카를 쓰길래 공부하는 중이다.학습에는 '쉬운 코드' 유투브 채널과 카프카 공식 문서 참고했다. https://www.youtube.com/@ezcdhttps://kafka.apache.org/ Apache KafkaApache Kafkakafka.apache.org 우선, 카프카는 커밋 종류가 두 가지가 있다. 해당 글의 주제인 Replica와 관련 있는 커밋은 Broker-side Commit인데, 헷갈리지 않게 둘 다 알아보자. 1. Consumer Commit: Consumer가 consume하여 처리한 records의 마지막 offset에 1을 더한 값. 즉, 다음 차례의 offset을 커밋. = 커밋된 offset의 직전까지 consumer에서 처리 완료됐음을 의미. [커.. 2026. 9. 16. [Elastic] 8. Distributed Operations 0. 개요Elasticsearch은 장애에 강하기 위해 샤드 단위로 데이터 복제한다. Elasticsearch가 실제로 분산 환경에서 어떻게 읽고 쓰는지에 대해 알아보자. 1. Primary: Primary는 index의 original shard이다. 데이터 write의 대상이기에, 데이터 분할 전략에 사용된다. Primary 샤드는 생성 후 수정이 안된다. 수정하려면 shard 만들고 reindex하면 된다. 2. Replica : Replica는 primary shard의 복사본으로, Primary와 동일한 데이터를 가지고 있으며 다른 Node에 배치된다.Replica는 장애 대응, 검색 성능/처리량 증가(분산 검색이 가능) 위해 사용한다.상황에 따라 replica 개수를 자율적으로 조정하고 싶.. 2026. 9. 11. 이전 1 2 3 4 ··· 24 다음