JSPM

  • Created
  • Published
  • Downloads 436
  • Score
    100M100P100Q85352F
  • License MIT

Node.js kafka client, consumer, producer polite out of the box

Package Exports

  • sinek

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sinek) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

High Level Node.js Kafka Client

Build Status npm version

The most advanced Kafka Client.

Features

  • easy promise based API
  • a lot of Kafka pitfalls already taken care of
  • backpressure and stream consume modes
  • secure committing in backpressure (1:n, batch) mode
  • plain Javascript implementation based on kafka-node and a super fast native implementation based on node-rdkafka
  • SSL, SASL & Kerberos support
  • auto reconnects
  • auto partition recognition and deterministic spreading for producers
  • intelligent health-checks and analytic events for consumers and producers

You might also like

Latest Changes

Can be found here

Install

npm install --save sinek

Usage

Usage - JS Client (based on kafka.js)

const {
  JSConsumer,
  JSProducer
} = require("sinek");

const jsProducerConfig = {
  clientId: "my-app",
  brokers: ["kafka1:9092"]
}

(async () => {

  const topic = "my-topic";

  const producer = new JSProducer(jsProducerConfig);
  const consumer = new JSConsumer(topic, jsConsumerConfig);

  producer.on("error", error => console.error(error));
  consumer.on("error", error => console.error(error));

  await consumer.connect();

  // consume from a topic.
  consumer.consume(async (messages) => {
    messages.forEach((message) => {
      console.log(message);
    })
  });

  // Produce messages to a topic.
  await producer.connect();
  producer.send(topic, "a message")
})().catch(console.error);

Further Docs

make it about them, not about you

  • Simon Sinek