카프카 특성

높은 처리량

카프카는 프로듀서가 브로커로 데이터를 보낼 때 와 컨슈머가 브로커로부터 데이터를 받을 때 모두 묶어서 전송합니다. 동일한양의 데이터를 보낼 때 네트워크 통신 횟수를 최소한으로 줄인다면 동일한 시간 내에 더많은 데이터를 전송 할 수 있습니다. 이는 곳 비용절감 효과로 이루어 질 수 있습니다. 처리 할 수 있는양의 규모가 크다면 그만큼 빅데이터 에서 충분히 강력한 의미가 됩니다.

확장성

파이프라인에서 데이터를 모을 때 얼마나 들어올지는 예측하기 어렵습니다. 하루에 1000건 이상의 로그 데이터같은경우 예상치 못한 특정 이벤트로 인해서 훨씬 많은 다량의 데이터가 들어오는 경우가 있습니다. 이 때는 브로커의 개수를 늘려 스케일아웃(scale-out)할 수 있습니다. 카프카는 이러한 가변적인 환경에서 안정적으로 확장이 가능합니다.

영속성

영속성이은 프로그램이 종료되더라도 사라지지 않는 데이터의 특성을 말합니다. 카프카는 운영체제 레벨에서 파일 시스템을 최대한 활용합니다. 또한 운영체제에서 페이지 캐시 영역을 메모리에 따로 생성해 사용합니다. 디스크 기반의 파일 시스템을 활용하면서도 한번 읽은 내용을 메모리에 저장시킨 후 사용하는 방식이기에 속도도 향상되며,안전한 데이터 처리가 가능한 것이 장점입니다.

고가용성

카프카가 가지고 있는 제일 좋은 점은 바로 고가용성이 아닌가 싶습니다. 서버 장애가 발생하더라도 무중단으로 안전하게 데이터를 철 할 수있습니다. 바로 프로듀서로 전송받은 데이터를 여러 브로커중 1대의 브로커에만 저장하지 않고 나머지 다른 브로커에게도 전송합니다. 이러한 백업의 기능 때문에 하나의 서버가 장애가 날 경우 안전하게 서비스가 가능합니다. 온프레미스 환경의 서버랙 이나 퍼블릭 클라우드의 리전 단위 장애도 데이터를 안전하게 복제 할 수 있는 브로커 옵션들이 있습니다.

Last updated