kafka-working

A node client for Kafka that works

npm install kafka-working
2 downloads in the last week
4 downloads in the last month

Kafka javascript API

Interact with Kafka, LinkedIn's disk based message queue.

Based on marcuswestin/node-kafka -> tagged/node-kafka.

Dependencies

You'll need the libgmp source to compile this package. Under Debian-based systems,

sudo aptitude install libgmp3-dev

On a Mac with Homebrew,

brew install gmp

Get up and running

1 Install kafka

npm install kafka

2 Start zookeeper, kafka server, and a consumer (see http://sna-projects.com/kafka/quickstart.php)

3 Publish and consume some messages!

    var kafka = require('kafka')

    new kafka.Consumer().connect().subscribeTopic('test').on('message', function(topic, message) {
        console.log("Consumed message:", message)
    })

    var producer = new kafka.Producer().connect().on('connect', function() {
        producer.send("hey!")
        producer.close()
    })

API

kafka.Consumer

    var consumer = new kafka.Consumer({
        // these are the default values
        host:         'localhost',
        port:          9092,
        pollInterval:  2000,
        maxSize:       1048576 // 1MB
    })
    consumer.on('message', function(topic, message) { 
        console.log(message)
    })
    consumer.connect(function() {
        consumer.subscribeTopic({name: 'test', partition: 0})
    })

kafka.Producer

    var producer = new kafka.Producer({
        // these are also the default values
        host:         'localhost',
        port:         9092,
        topic:        'test',
        partition:    0
    })
    producer.connect(function() {
        producer.send('message bytes')
    })
npm loves you