데브허브 | DEVHUB | Why is Kafka so Fast? Part 2Why is Kafka so Fast? Part 2
- Kafka는 디스크와 네트워크 간의 효율적인 데이터 이동에 중점을 두어 성능 우위를 확보합니다. ⚡️
- '제로 카피(Zero Copy)' 원칙은 디스크-네트워크 데이터 전송 시 불필요한 복사 과정을 제거하는 핵심 기술입니다. 🚫
- 제로 카피를 사용하지 않을 경우, 데이터는 OS 캐시, Kafka 애플리케이션, 소켓 버퍼, 네트워크 카드 버퍼를 거치며 총 4번 복사되어 비효율적입니다. 🔄
- 제로 카피는
sendfile 시스템 호출을 사용하여 OS 캐시에서 네트워크 카드 버퍼로 데이터를 직접 복사하도록 지시합니다. 🚀
- 이 최적화된 경로는 데이터 복사 횟수를 OS 캐시에서 네트워크 카드 버퍼로의 단 한 번으로 줄입니다. ✅
- DMA(Direct Memory Access)를 활용하면 CPU 개입 없이 네트워크 카드가 직접 데이터를 복사하여 효율성을 극대화합니다. 🧠
- 순차 I/O(Sequential I/O)와 제로 카피 원칙은 Kafka 고성능의 핵심 기반입니다. 🏗️