sinek
TypeScript icon, indicating that this package has built-in type declarations

10.0.0-alpha.0 • Public • Published

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

Package Sidebar

Install

npm i sinek

Weekly Downloads

450

Version

10.0.0-alpha.0

License

MIT

Unpacked Size

214 kB

Total Files

60

Last publish

Collaborators

  • wtrocki
  • krystianity
  • rob3000