Kafka Design Characteristic
카프카는 분산 시스템이며 페이지 캐시를 사용해 I/O 병목지점을 줄이고 배치 처리를 통해 처리량을 향상시킨다
Distribute System
- 단일 시스템보다 높은 성능을 얻음
- 분산 시스템 중 하나의 서버 또는 노드 등이 장애가 발생하면 다른 서버 또는 노드가 대신 처리
- 시스템 확장이 용이
Page Cache
빠른 엑세스를 위한 페이지 캐시를 이용하도록 디자인 되어있다
페이지 캐시는 OS에서 물리적으로 어플리케이션이 사용하는 부분을 할당하고 남은 부분을 사용하게 되며 최근에 사용한 데이터를 캐시해둬 디스크에 I/O를 하지 않아도 되기 때문에 처리량을 높혀준다
Batch
서버와 클라이언트 사이에서 데이터를 주고 받을 때 I/O가 발생한다
작은 I/O가 빈번하게 발생하면 속도를 저하시키기 때문에 카프카는 작은 I/O를 묶어서 처리할 수 있도록 배치 작업으로 처리한다