Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

12장. Kafka 네트워크 카드 선택 가이드 (KRaft 기반)

Kafka를 KRaft 모드(Kafka Raft Metadata Mode)로 운영할 경우, 브로커, 컨트롤러, 또는 브로커/컨트롤러 겸용 노드 각각의 역할에 따라 네트워크 카드(NIC)의 성능 요구가 달라집니다. 이 장에서는 Kafka에서 네트워크가 어떻게 사용되는지와, 역할별 적절한 NIC를 선택하는 방법을 정리합니다.


12.1 Kafka에서 네트워크가 사용되는 영역

Kafka 클러스터에서는 아래와 같은 통신이 지속적으로 발생합니다:

통신 대상설명
프로듀서 → 브로커데이터 수집 (Ingress)
브로커 → 컨슈머데이터 전송 (Egress)
브로커 ↔ 브로커파티션 복제 (Replication)
브로커 ↔ 컨트롤러메타데이터 동기화
컨트롤러 ↔ 컨트롤러Raft 기반 메타데이터 복제

12.2 브로커 기준 트래픽 예시 계산

예를 들어 다음과 같은 조건에서:

  • 메시지 크기: 1KB
  • 초당 메시지 수: 50,000
  • replication.factor: 3

계산 결과:

  • Ingress: 50 MB/s
  • Replication: 100 MB/s (2개 복제 노드)
  • Egress: 50 MB/s
  • 총합: 200 MB/s ≒ 약 1.68 Gbps

→ 이 정도 트래픽을 안정적으로 처리하려면 최소 10Gbps NIC가 필요합니다.


12.3 단위 변환 공식 (MB/s → Gbps)

  • 1 Byte = 8 bits
  • 1 MB = 1,048,576 Bytes
  • 1 Gbps = 1,000,000,000 bits/s
200 MB/s × 1,048,576 × 8 = 1,677,721,600 bits/s ≒ 1.68 Gbps

12.4 노드 유형별 NIC 선택 기준

브로커 전용 노드

  • 권장 NIC: 10~25Gbps 이상
  • 특징: 데이터 수신, 복제, 전송 모두 포함 → 트래픽 가장 높음
  • 기능 추천: RSS, MTU 9000, TCP Offload

컨트롤러 전용 노드

  • 권장 NIC: 1Gbps 이상 (안정성 우선)
  • 특징: 메타데이터 트래픽 위주, Raft 기반 통신 → 지연(Latency)에 민감
  • 권장 설정: MTU 9000

브로커 + 컨트롤러 겸용 노드

  • 권장 NIC: 25Gbps 이상
  • 특징: 데이터 처리와 메타데이터 처리 동시 수행 → 고성능 NIC 필요

12.5 AWS EC2 기준 네트워크 성능 예시

인스턴스 타입최대 네트워크 대역폭특징
t3.medium최대 5Gbps테스트 용도
m5.2xlarge최대 10Gbps소규모 운영용
c6i.4xlarge최대 12.5Gbps일반 브로커 용도
m6in.8xlarge최대 40Gbps + MTU 9000 지원겸용 노드에 적합
c6gn.16xlarge최대 100Gbps고성능/대형 클러스터용

참고: ENA(Elastic Network Adapter)와 MTU 9000 지원 여부를 반드시 확인해야 합니다.


12.6 ENA와 MTU 9000 개념 정리

ENA (Elastic Network Adapter)

AWS EC2의 고성능 네트워크 어댑터로:

  • 최대 100Gbps까지 지원
  • 멀티큐(RSS), 네트워크 오프로드 등 고급 기능 포함
  • Kafka 같은 네트워크 중심 워크로드에서 매우 유리함

MTU 9000 (Jumbo Frame)

  • 일반 MTU는 1500 Bytes
  • MTU 9000은 패킷당 9000 Bytes까지 전송 가능
  • 장점:
    • CPU 부하 감소
    • 전송 효율 향상
    • Throughput 증가

12.7 네트워크 튜닝 실전 명령어

항목명령어
MTU 확인/설정ip link show / ip link set dev eth0 mtu 9000
NIC 오프로드 기능 확인ethtool -k eth0
멀티큐(RSS) 설정 확인ethtool -l eth0
NIC 드라이버 확인ethtool -i eth0 (ENA 여부 확인용)

12.8 네트워크 선택 요약

역할트래픽 강도권장 NIC비고
브로커매우 높음10~25Gbps 이상메시지 수신/전송 + 복제 포함
컨트롤러낮음 (지연 민감)1Gbps 이상안정적인 메타데이터 처리 중요
겸용 노드매우 높음 + 지연 중요25Gbps 이상종합적 처리 요구

Kafka 클러스터에서 네트워크는 병목 현상을 가장 쉽게 일으킬 수 있는 요소입니다.
따라서 트래픽 양에 맞는 NIC 대역폭과 기능을 갖춘 구성이 중요합니다.