Skip to content

🎩 Most advanced high level Node.js Kafka client

License

Notifications You must be signed in to change notification settings

alkiskal/node-sinek

 
 

Repository files navigation

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 - Native Client (based on node-rdkafka)

Please Note:

You will have to manually install node-rdkafka alongside sinek. (This requires a Node.js version between 9 and 12 and will not work with Node.js >= 13, last tested with 12.16.1)

On Mac OS High Sierra / Mojave: CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib yarn add --frozen-lockfile [email protected]

Otherwise: yarn add --frozen-lockfile [email protected]

(Please also note: Doing this with npm does not work, it will remove your deps, npm i -g yarn)

const {
  NConsumer,
  NProducer
} = require("sinek");

Usage - JS Client (based on kafka.js)

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

Usage - Old JS Client (based on kafka-node)

const {
  Consumer,
  Producer
} = require("sinek");

Further Docs

make it about them, not about you

  • Simon Sinek

About

🎩 Most advanced high level Node.js Kafka client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.3%
  • Shell 2.2%
  • Dockerfile 0.5%