기록하자
아파치 카프카 공부 본문

아파치 카프카란 ?
LinkedIn에서 개발된 분산 메시징 시스템으로써 2011년에 오픈소스로 공개되었고, 대용량의 실시간 로그처리에 특화된 아키텍처 설계를 통하여 기존 메시징 시스템보다 우수한 TPS를 보여주고 있다
아파치 카프카 나오게 된 배경

문제점
●시스템 설계가 매우 복잡하여 만약 앞단에서 수정 해야 할 일이 있을 경우 뒷단 까지 영향을 받을 수 있다.
●유지보수가 어렵다.
아파치 카프카 아키텍쳐

●위 처음 사진 보다 복잡성이 감소되고 유지보수 하기가 훨씬 쉬워졌다.
아파치 카프카 사용 이유
1. 일부 실패 시 전체에 영향을 받지 않는다
2. 실패 할 경우 재실행 가능 하다
3. 큐에 넣어 나중에 처리 할 수 있다.
4.다수의 프로세스들이 큐에 메시지 보낼 수 있다.
5. 어플리케이션 통계 집계를 낼 수 있다.
6.시간 별로 발생하는 이벤트 저장하여 보낼 수 있다.
RabbitMQ vs Kafka
공통점
비동기 통신 제공 과 보낸 사람 받는 사람 구별한다.
차이점
kafka는 확장성, 고성능 및 높은 처리량에 사용
rabbitMQ는 빠르고 쉽게 구성할 수 있으며 직관적이다.
카프카 장점
●대용량 실시간 로그처리에 특화 되어 TPS가 우수하다.
●다른 메시지 시스템은 broker가 consumer에게 push 해주는 방식이라면 kafka는 consumer가 직접 가져가는 pull 으로 작동한다. 그래서 자신이 처리 할 수 있는 능력만큼 가져오므로 최적의 성능 낼 수 있다.