Skip to content

yankov/node-kafka

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kafka javascript API

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

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')
	})

About

A node client for Kafka

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%