kafka producer consumer 구현하기

kafka producer과 consumer를 java로 구현해보자. 일단 카프카가 설치 되어 있어야 한다. 카프카 설치는 여기에서 보면 된다. 아주 간단한 샘플용이니 참고만 하길 바란다. kafka version은 0.9.0.1 버전으로 하였다. 바로 소스를 보자. <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.9.0.1</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> </dependency> </dependencies> 일단 디펜더시는 카프카 클라이언트와 필자는 logback을 자주 써서 logback으로 디펜더시를 설정 하였다. 다음 코드는 producer 코드이다. 간단하게 만들었다. public static void main(String[] args) throws IOException { Properties configs.. Read More

kafka multi-broker cluster

좀전에 카프카에 대허서 알아 봤다. 간단하게 설치도 하고 했는데 실 운영에서는 그렇게 못쓴다. 물론 주기퍼도 여러대 카프카도 여러대로 써야 하나의 서버가 죽더라도 운영은 계속 되어야 한다. 우리는 카프카의 멀티 broker의 설정에 대해 알아 보자 기존의 server.properties는 냅두고 server1.properties 와 server2.properties를 만들자. cp config/server.properties config/server1.properties cp config/server.properties config/server2.properties server.properties 복사하여 server1.properties, server2.properties를 아래와 같이 변경을 하자. server1.properties broker.id=1 port=9093 log.dir=/tmp/kafka-logs-1 server2.properties broker.id=2 port=9094 log.dir=/tmp/kafka-logs-2 위와 같이 설정만 하면 끝이다. 그런 후에.. Read More

kafka 설치

kafka를 설치 해보자 카프카란 LinkedIn에서 개발된 메시지큐 시스템이다. 기존 메시지 시스템과 우수한 성능을 보이고 있다고 한다. 여기 에서 다운로드 받을 수 있다. 위의 그림은 카프카의 구성요소와 동작 방식으로 발행과 구독 모델기반으로 되어져 있다. 카픈카는 topic 기준으로 메시지를 관리하며 Producer는 topic의 메시지를 생성 후 메시지를 broker에 전달한다. 전달받은 메시지를 분류별로 큐에 쌓으면 구독하는 consumer들이 메시지를 가져가는 구조로 되어있다. 다운 받은 카프카 파일을 압출을 푼후에 실행 시켜보자. bin/zookeeper-server-start.sh config/zookeeper.properties … [2016-05-22 13:30:16,738].. Read More