반응형

일단 node와 express가 설치돼 있고 kafka와 zookeeper가 설치돼 있으며 둘 모두 실행해놓고 진행해라...

 

kafka-node도 필요하니 설치해두자...

 

#npm install kafka-node

 

아주 간단하다...

 

일단 카프카에 메세지를 등록해보자...이걸 producer라고 한다...

 

var kafka = require('kafka-node'),
Producer = kafka.Producer,
KeyedMessage = kafka.KeyedMessage,
client = new kafka.KafkaClient(),
producer = new Producer(client),
km = new KeyedMessage('key', 'message'),
payloads = [
{ topic: 'topic1', messages: 'hi,there', partition: 0 },
{ topic: 'topic2', messages: ['hello2', 'world2', km] }
];
producer.on('ready', function () {
producer.send(payloads, function (err, data) {
console.log(data);
});
});

 

위 내용을 적당한 이름으로 저장한다...producer.js

 

topic1과 topic2를 만들고 그 안에 topic1에는 "hi, there"를 넣고 topic2에는 다른걸 넣었다...

 

이제 실행해보자...

 

#node producer.js

 

라고 해보면 입력된 offset 번호가 나온다...

 

이제 node를 이용해서 입력한 메세지를 확인해보자...이런걸 consumer라고 한다...

 

var kafka = require('kafka-node');
var Consumer = kafka.Consumer;
var Offset = kafka.Offset;
var Client = kafka.KafkaClient;
var topic = 'topic1';

var client = new Client({ kafkaHost: 'kafka1:9092' });
var topics = [{ topic: topic, partition: 0 }];
var options = { autoCommit: false, fetchMaxWaitMs: 1000, fetchMaxBytes: 1024 * 1024 };

var consumer = new Consumer(client, topics, options);
var offset = new Offset(client);

consumer.on('message', function (message) {
console.log(message);
});

consumer.on('error', function (err) {
console.log('error', err);
});

 

consumer.js로 저장하고 확인해본다..

 

#node consumer.js

 

topic1에 저장된 메세지가 나타난다...

 

topic2를 보고 싶다면 바꿔주면 된다...

 

개발하다 힘들면 눌러.

https://www.zzarbang.com

반응형

+ Recent posts