Message Broker/Kafka 3

# Kafka - 3 # Spring Boot - Kafka - Elasticsearch 예제 실습

지난 글 (# Kafka - 2 # Kafka Multi Cluster 구성)에 이어서 구성된 Kafka 서버에 데이터를 넣고 확인하는 간단한 예제를 만들어서 테스트를 진행 해보겠다. 예제의 Test용 Application은 SpringBoot로 데이터를 만들 것이고 전체 구성은 아래와 같다. [ 실습전 준비 사항] 1. kafka 서버 기동 2. elasticsearch 서버 기동 3. Spring 기본 동작 원리 Step 1. gradle 프로젝트 생성 Step 2. gradle dependencies 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch' compile group..

# Kafka - 2 # Kafka Multi Cluster 구성

지난 포스팅에 이어 이번엔 Kafka를 Multi Cluster로 구성해보겠다. 구성은 아래와 같이 할 것이다. Step 1. Kafka Download # 버전 확인 필수 $ wget http://mirror.navercorp.com/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz # 설치하고 싶은 경로에서 압축 풀기 $ tar -xzf kafka_2.12-2.3.0.tgz $ cd kafka_2.12-2.3.0 Step 2. Zookeeper 설정 ( All Node ) => vi zookeeper.properties initLimit=10 syncLimit=5 server.1= :2888:3888 server.2= :2888:3888 server.3= :2888:3888 St..

# Kafka - 1 # Kafka 개념

카프카란? 대용량의 실시간 로그 처리에 특화되어 있는 솔루션이며 데이터를 유실없이 안전하게 전달하는 것이 주목적인 메세지 시스템에서 안정적인 아키텍처와 빠른 퍼포먼스로 데이터를 처리할 수 있는 분산 스트리밍 플랫폼이다. 크게 아래와 같은 특징이 있다. 1. 메시지 분산 처리 카프카는 파티션이란 개념을 도입하여 여러개의 파티션을 서버들에 분산시켜 나누어 처리할 수 있다. Producer가 메시지를 어떤 파티션으로 전송할지는 사용자가 구현한 분배 알고리즘에 따른다. 각 파티션에 균등하게 저장하거나, 메시지의 키를 활용하여 특정 문자로 시작하는 메시지는 특정 파티션에 할당할 수 있다. => 파티션을 나누었을 때, 메시지의 순서는 보장해주지 않는다. 한번 늘린 파티션은 절대로 줄일 수 없다. 2. 고가용성(HA..