카프카 토픽과 파티션
·
Kafka
아파치 카프카 - 애플리케이션 프로그래밍 (최원영 지음) 4장 4.1 토픽과 파티션 4.1.1 적정 파티션 개수 토픽의 파티션 개수는 성능과 관련이 있다. 그래서 파티션 개수를 정할땐 신중히 정해야 한다. 파티션 개수 고려사항은 아래 3개가 있다. 데이터 처리량 메시지 키 사용 여부 브로커, 컨슈머 영향도 데이터 처리량 파티션은 카프카 병렬처리의 핵심 요소이다. 파티션의 개수가 많아지면 컨슈머와 1:1 매핑되는 개수가 늘어나기 때문이다. 데이터 처리 속도를 올리는 방법은 컨슈머의 처리량을 늘리는 방법과 컨슈머,파티션을 추가해서 병렬처리량을 늘리는 방법이 있다. 컨슈머 처리량을 늘리는 방법은 Scale up, GC 튜닝 등이 있지만 일정 수준 이상 처리량을 올리기 어렵다. 반면 파티션 개수를 늘리는 방법은..
Kafka - 메시징 시스템
·
Infra
Kafka 카프카는 메시지라고 불리는 단위를 다룹니다. 보내는 측(프로듀서)에서는 토픽이라는 메시지 저장소에 메시지를 저장하고, 메시지를 가져가는 측(컨슈머)은 원하는 토픽에서 메시지를 가져가기만 하면 됩니다. 중앙에 메시징 시스템 서버를 두고 메시지를 보내고(publish) 받는(subscribe) 형태의 통신을 펍/섭 모델이라고 하고 카프카는 펍/섭 모델을 기반으로 만들어진 메세징 시스템 입니다. 그래서 카프카에 대해 알기 위해선 펍/섭 모델, 메시징 시스템에 대해 알아야 한다고 생각합니다. 그래서 이번 글에서는 카프카에 대한 설명 위주가 아닌 메시징 시스템을 도입하면 좋은점에 대해 설명하고 다른 메시징 시스템에 비해 카프카를 왜 사용해야 하는지에 대해서 간단하게 설명하겠습니다. 메시지 발행/구독 시..