2021년 2월 14일 일요일

Apache Kafka - 카프카 특징


1. 확장성

분산시스템 적용에 용이하여 부하분산에 유동적이다.

예를 들어 서버 1대당 1000개의 메세지를 1초당 처리할 수 있는 3대의 서버로 구성된 클러스터가 있다. 

총 메세지 가용량은 3000/1s 인데 메세지가 늘어 4000개 메세지를 처리해야 할 때, 클러스터 내 브로커 수 1대만 늘리면 되므로 간단하게 문제를 처리 할 수 있다.



2. 페이지 캐시

리눅스커널은 자주쓰는 데이터의 I/O성능향상을 위해 페이지캐시를 사용하는데, 물리적메모리에 읽고쓰기 작업을 하지 않고 캐시메모리를 통해 이 작업을 수행한다. 

카프카는 빠른 엑세스를 위해 이러한 페이지캐시를 이용하게끔 되어있다. 


Java Heap할당과도 연관이 있는데 Memory가 8GB인 서버에 모든 메모리를 Heap메모리(또는 다른 어플리케이션에 점유된 메모리)에 할당하지 말고 적당량을 남겨 페이지캐시로 사용하여야 한다.  

vi /usr/local/kafka/bin/kafka-server.start.sh

KAFKA_HEAP_OPTS="-Xmx6G -Xms6G    #자바 힙메모리 설정값



3. 배치전송














전송시 I/O 작업이 빈번하면 네트워크 오버헤드가 발생하고 시간도 더 걸리므로

데이터를 묶음으로 보낼 수 있는 기능을 제공한다.


 

댓글 없음:

댓글 쓰기