카프카
-
카프카 - URP, Under Min ISR개발/기술 2024. 8. 30. 17:52
URP (Under Replicated Partition)카프카를 운영하다보면 URP 장애가 종종 발생한다. URP 장애는 다양한 이유로 발생하는데 원인을 알기 위해선 먼저 URP 가 먼지 알아야 한다. 카프카에는 파티션이라는 개념이 있고 파티션은 리더와 팔로워 파티션으로 나눠진다. 파티션은 토픽의 데이터가 저장되는 스토리지로 보면 되는데 리더 파티션은 프로튜서와 컨슈머로부터 토픽을 주고 받는 부분이고 팔로워 파티션은 리더 파티션의 내용을 복제한다. 스토리지에서 볼 수 있는 RAID 처럼 카프카도 내용을 복제해서 고가용성과 내구성을 확보하는 방식으로 동작한다. 카프카 운영자는 replicas.factor 옵션으로 복제본의 개수를 설정할 수 있는데 주로 3개 정도 둔다. URP 는 리더 파티션과 동기화되지..
-
Zookeeper 사용 목적과 사례 중심으로 정리개발/기술 2024. 8. 16. 18:56
분산시스템을 무조건 만나게 되는 주키퍼. 이번 포스트에선 주키퍼를 사용하는 이유와 사례를 중점적으로 살펴보자. Why Zookeepr?카프카나 하둡, 클릭하우스 같은 분산 시스템 서비스는 여러개의 서버가 동시에 동작하는 시스템이다. 서버들이 유기적 협력하기 위해선 서로가 어떤 상태인지, 어떤 책임을 맡고 있고 무엇을 할 수 있는지 모니터링 할 수 있는 환경이 필요하다. 예를 들어 특정 서버가 죽어 버리면 다른 서버에서 장애를 발견하고 복구 작업이 진행할 수 있어야 하고 서버 마다 갖고 있는 테이블을 어딘가에 공유할 수 있어야 한다. 시스템마다 서버끼리 상태를 공유할 수 있는 환경을 독자적으로 만들 수도 있겠지만 매 시스템마다 만들기는 버겁다. 감사하게도 아파치에서 분산시스템에서 범용적으로 사용할 수 있..
-
Kafka 용어 정리개발 2022. 5. 31. 21:18
Topic 카프카 클러스터의 브로커에서 데이터를 관리할 때 기준이 되는 개념. 데이터의 종류를 설정하는 개념이라고 보면 된다. 예를 들어 회원 가입에 대한 이벤트를 중점적으로 처리한다고 이름으로 "join.event" 라는 토픽을 만들어줄 수 있다. Leader Partition, Follower Partition 카프카 클러스터에게 전달한 Topic을 저장하는 데이터 저장소다. Topic은 손실이 되는 것을 막기 위해 하나의 Partition에만 소속되는 것이 아니라 여러개의 Partition에 중복으로 존재한다. 특정 Sector에만 데이터를 두지 않는 RAID 저장 방식과 다른데 차이점이 있다면 Topic의 경우 컨슈머에서 처리를 해야하는 데이터기 때문에 특정 Partition 에서 데이터를 받아와..