Message Queue/Kafka

1.토픽과 파티션토픽은 Kafka에서 데이터를 구분하기 위해 사용하는 단위이다. 토픽은 1개 이상의 파티션을 소유하고 있다.파티션에는 Producer가 보낸 데이터들이 들어가 저장되는데 이 데이터를 '레코드' 라고 부른다.토픽 생성 시 파티션은 0번 브로커 부터 시작하여 Round Robin 방식으로 리더 파티션들이 생성 된다.Kafka에 파티션은 Consumer가 데이터를 가져 가도 삭제되지 않는다.파티션이 5개인 토픽을 생성했을 경우 리더 파티션들은 아래와 같이 Round Robin 방식으로 생성 된다.1.1. 특정 브로커에 리더 파티션이 몰린 경우리더 파티션이 몰린 특정 브로커만 Kafka 클라이언트와 통신하기 때문에 CPU, Memory 사용량이 높아진다.kafka-resassign-partiti..
1. Kafka SystemZookeeper는 Consumer와 통신, Kafka의 메타 데이터 정보를 저장, Kafka의 상태 관리 등 목적으로 사용Kafka 3점대 버전부터는 Zookeeper가 없더라도 Kafka 운영이 되지만 Zookeeper를 대체하는 것이 완벽하지 않기 때문에 Zookeeper를 사용Kafka Broker는 하나의 서버에 한 개가 실행되며, Kafka 클라이언트와 데이터를 주고받는 주체Kafka Broker는 1대로도 실행은 되지만, 가용성을 위해 3대 이상의 Broker를 1개의 Cluster로 묶어서 운영2. Zookeeper 역할2.1. 브로커 메타 데이터 저장Kafka 브로커들은 자신의 메타 데이터(브로커 ID, 브로커의 주소 등)를 Zookeeper를 사용하여 저장이 ..
1. 권고 사항1.1. 환경 구성 시 권고 사항Kafka는 전송된 데이터를 모두 파일 시스템에 저장하고 대규모 데이터 통신이 일어나기 때문에 고성능의 하드웨어를 사용해야 한다. Kafka Cluster 운영 시 브로커의 하드웨어 권고사항은 아래와 같다.종  류권고 설정 값메모리32GB 머신에 힙 메모리 6GB로 설정. 나머지는 OS의 페이지 캐시 영역으로 활용CPU24core 머신 사용, 만약 SSL과 같은 보안 설정 사용할 경우 추가 더 높은 사양 필요디스크RAID 10으로 설정된 디스크 사용. NAS 사용은 권고하지 않음파일시스템XFS 또는 ext41.2. 오픈소스 Kafka를 직접 설치하여 운영하는 경우종  류개발용 Kafka Cluster상용 환경 Kafka Cluster브로커 개수5개10개CPU..
1. Kafka란?  Apache Kafka는 고성능 데이터 파이프 라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션을 위해 사용하는 분산 이벤트 스트리밍 플랫폼이다.2. Kafka 생태계상용 Kafka와 OpenSource Kafka 비교 장표특  징Apache KafkaConfluent For Kafka상용여부오픈소스상용주요 제공 기술Message QueueKafka + Stream Processing서버 제공 여부개별 서버 필요서버 제공Zookeeper 관리 여부Zookeeper 관리 필요Zookeeper 관리 불필요다국어 개발비 Java Client 지원 안함 - 추가 설치 필요C/C++, Python, Go, .NET 기본 지원RestProxyConfluent 제공 오픈소스 설치..
Garfield_Jo
'Message Queue/Kafka' 카테고리의 글 목록