반응형
카프카의 특징
- 높은 처리량
- http 기반으로 이벤트를 ㄹ전달하지만 응답시간은 한 자리수 밀리초로 처리할 만큼 빠르다.
- 순서 보장
- 이벤트 처리 순서가 보장되므로 엔터티 간의 유효성 검사나 동시 수정 같은 무수한 복잡성들이 제거되어 구조가 간결하다.
- 적어도 한 번 전송 방식
- 카프카는 멱등성을 유지한다.
- 이로인해 프토듀서가 같은 데이터를 재손하도 데이터의 변화가 일어나지 않다.
- 전송방식중에 ‘적어도 한 번’이라는 방식이 존재한다. 따라서 이벤트가 중복 발생할 수 있으나 누락 없는 전송이 가능하다.
- 강력한 파티셔닝
- 논리적으로 토픽을 여러 개로 나눌 수 있다.
- 다른 파티션들과의 의존성 없이 처리가 가능하므로 수평적인 확장이 가능하다.
- 자연스러운 백 프레셔 핸들링
- 카프카는 Pull 방식으로 동작한다.
- Pull 방식의 장점은 자기 자신의 속도로 데이터를 처리할 수 있다.
- 단점으로는 Push 방식은 브로커가 보내주는 속도에 의존해야 한다는 한계가 존재한다.
카프카의 장점
- 높은 처리량과 낮은 지연시간
- 응답성만을 기준으로 비교하면 RabitMq보다 성능이 떨어진다.
- 그러나 처리량과 응답성 두 가지 기준으로 비교할 경우 압도적인 성능을 자랑한다.
- 카프카는 처리량이 타 MQ보다 월등한 성능을 자랑한
- 높은 확장성
- 고가용성
- 내구성
- ack라는 옵션을 사용해서 메시지의 내구성을 강화할 수 있다.
- 예시로 acks의 옵션을
acks=all
로 부여할 경우 Producer가 생산하는 모든 메시지 사용자가 지정한 안전한 저장소로 저장할 수 있다.
- 결제 파라미터를 안정적으로 저장할 수 있는 새로운 수단이 될 수 있을 것으로 예상한다.
- 개발 편의성
- 운영 및 관리 편의성
람다 아키텍쳐와 카파 아키텍쳐
- 람다 아키텍쳐란 배치 파이프라인과 실시간 파이프라인을 가지고 있는것을 의미한다.
- 람다 아키텍쳐는 배치와 스트림 처리의 장점을 지닌다.
- 람다 아키텍쳐는 일반적으로 아래와 같은 레이어로 구성되어 있다.
- 배치 처리를 위한 배치 레이어
- 실시간 처리를 위한 스피드 레이어
- 배치와 스트림 처리의 아웃풋을 담당하는 서빙 레이어
- 람다 아키텍쳐는 구조의 복잡성, 배치와 스트링이 서로 다르게 요구하는 코드 유지 등의 단점이 존재한다.
- 람다 아키텍쳐의 불편함을 개선하고자 등장한것인 카프카 기반의 카파 아키텍쳐이다.
반응형
'Kafka' 카테고리의 다른 글
카프카 스키마 레지스트리 (0) | 2023.06.01 |
---|---|
컨슈머의 내부 동작 원리(컨슈머 오프셋, 그룹코디네이터, 스태틱 맴버십,파티션 할당 전략) (0) | 2023.06.01 |
프로듀서의 내부 동작 원리(파티셔너, 배치) (0) | 2023.06.01 |
카프카의 내부 동작 원리(리플리케이션,리더, 팔로워, 리더에포크, 컨트롤러,로그) (1) | 2023.06.01 |
카프카 기본 개념과 구조 (0) | 2023.06.01 |