🧩 Kafka 의 Rack Awareness 를 아시나요?

Kafka 는 초기 버전부터 "broker.rack" 이란 설정을 제공하여,

특정 서버 Rack 전체에 전력이 나가는 장애 상황이 발생하더라도

다른 Rack 에 위치한 Broker Node 에 Replica 를 할당시켜 동작 불능에 빠지지 않게 하는

고가용성의 표본적인 기능을 제공해주고 있습니다.


문제는 이런 기능을 제공하는것까진 좋았는데,

Kafka 는 기본적으로 Leader Replica 에 메세지를 Write 하고 Read 하는 구조이기 때문에

Client 인 Producer 나 Consumer 는 자칫 메세지를 자기와 가깝지 않는 노드와 통신을 하게 되어 성능 이슈를 야기할 수 있습니다.


이를 개선하기 위해 Kafka 버전 2.4 부터 Consumer 설정에 "client.rack" 을 추가하여,

ISR 상태인 Follower Replica 가 있다면 읽을 수 있게 하는 기능이 추가되었지만

이 또한 Consumer 리밸런싱에 관여하는 Partition Assignor 가 Rack 설정을 고려하지 않기 때문에

자신과 Rack 이 동일하지 않는 노드의 파티션 오너쉽을 가져갈 수 있어 완벽한 해결은 아니었습니다.


이와 관련된 내용은 2023년 DEVIEW 때 이동진님께서 발표하신 "네이버 스케일로 카프카 컨슈머 사용하기" 에서도 다뤘었습니다.

📺 네이버 스케일로 카프카 컨슈머 사용하기 : https://tv.naver.com/v/33857687


그러다 드디어 Kafka 3.5 부터 기본적으로 Built-In 되어있는 Partition Assignor 에 해당 기능을 제공하게 되어 Consumer 의 Rack Awareness 가 가능해지게 되었습니다.

이에 대한 내용은 아래 첨부드린 Introducing Apache Kafka 3.5 를 참고해주세요.

📢 Introducing Apache Kafka 3.5: https://www.confluent.io/blog/introducing-apache-kafka-3-5/


다만 지금까지 언급된 내용은 Consumer 에 대한 내용이고

현재까지 Producer 에 대해서는 이렇다할 해법은 존재하지 않습니다.


관련 내용을 검색해보면 Producer 에서 사용하는 Partitioner 를 Customizing 하는 방법(https://levelup.gitconnected.com/rack-aware-partition-assignment-for-kafka-producers-and-consumers-bdf706960491)도 나오지만

여기서 제안한 방법은 동일한 key 값을 가진 message 는 동일한 partition 으로 가야하는 순서보장 법칙을 위배하기 때문에 순서보장이 필요없는 케이스에서만 사용할 수 있습니다.

NAVER D2

Naver

NAVER D2

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 1월 25일 오전 7:08

 • 

저장 14조회 3,413

댓글 0

    함께 읽은 게시물

    데이터 엔지니어로 성장하고 싶다면~

    🍀 데이터 엔지니어란? 소프트웨어 엔지니어링과 프로그래밍의 업무 역량 사이의 간극을 메우는 전문가로 데이터 엔지니어는 고급 분석 기술, 강력한 프로그래밍 기술, 통계적 지식, 빅데이터 기술에 대한 명확한 이해를 갖춘 사람입니다. 🍀 데이터 엔지니어는 어떤 일을 하나요? 정형 및 비정형 데이터에 쉽게 액세스할 수 있는 데이터 인프라를 설계, 관리, 테스트, 유지, 저장하고 작업을 하며, 대규모 데이터 처리를 탐색하고 확장 가능하고 안정적인 작업 환경을 보장하기 위해 전문 지식과 소프트 스킬 필요 🔱 서버와 애플... 더 보기

    15+ Must Have Data Engineer Skills in 2023

    Knowledgehut

    15+ Must Have Data Engineer Skills in 2023

    신입 개발자를 위한 조언 10가지

    

    ... 더 보기

    신뢰에 대한 단상

    출근길에 읽던 글에서 신뢰에 대한 언급이 있었다. 그리고 문득, 얼마 전 구성원들과 대화하며 나도 모르게 "저를 믿고 한번 따라와 주세요"라고 말했던 순간이 떠올랐다. 글의 한 구절이 유독 마음에 깊이 파고들었다.

    ... 더 보기

    10억 개 데이터로 밝혀낸 K-POP 팬덤의 모든 것 -케이팝레이더2.0

    1

    ... 더 보기

    📢 케이팝레이더 2.0이 런칭되었습니다.

    stibee.com

    📢 케이팝레이더 2.0이 런칭되었습니다.


    잘못된 개발자 면접 준비 방법 피하기 (+ 준비 자료)

    개발자 면접 자료 준비를 어디서부터 어떻게 해야 할지 모르겠나요? 또는 유명한 자료를 읽어도 도움 되지 않은 경우가 있으셨나요?

    ... 더 보기

     • 

    댓글 6 • 저장 965 • 조회 27,032