Nothing's plumb meaningless

    confluent-client

    0.1.0 • Public • Published

    Circle CI

    A lightweight Javascript wrapper for the Confluent Kafka REST API.

    *This library is under construction, so there will be bugs and missing features.( Pull requests welcome!

    Usage

    The example below show standard node.js callback-based methods. The library can also be promisified with Bluebird. Take a look at the tests to see what thay may look like.

    var client = require('confluent-kafka-client');
    client.setHost('http://your-kafka-rest-api.io:8082');
     
    var valueSchema = {
      name: 'int',
      type: 'int'
    };
     
    // Produce some messages
    client.topics.produceMessages('YOUR_TOPIC', {
      value_schema: JSON.stringify(valueSchema),
      records: [{value: 10}, {value: 100}]
    }, function(err, res){
      // ...
    });
     
    // Create a consumer
    client.consumers.create('YOUR_CONSUMER_GROUP', 
      {'auto.offset.reset': 'smallest'}, function(err, res){
      return client.consumer(res.instance_id).consume('YOUR_TOPIC', function(err, data){
        console.log(data);
      });
    });
     

    Polling/Streaming consumer

    A wrapper around the consumer that periodically polls for new records.

    var client = require('confluent-kafka-client');
    client.setHost('http://your-kafka-rest-api.io:8082');
     
    // 500ms poll interval
    client.consumers.createStreamingConsumerAsync(500, 'YOUR_TOPIC', 
      'YOUR_CONSUMER_GROUP', {'auto.offset.reset': 'smallest'}, function(err, streamingConsumer){
      streamingConsumer.start();
      streamingConsumer.on('data', function(data){
        console.log(data);
      });
      streamingConsumer.on('error', function(error){
        console.log(error);
      });
    });

    TODO

    Install

    npm i confluent-client

    DownloadsWeekly Downloads

    3

    Version

    0.1.0

    License

    ISC

    Last publish

    Collaborators

    • dennybritz