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

    Install

    npm i sinek

    DownloadsWeekly Downloads

    750

    Version

    10.0.0-alpha.0

    License

    MIT

    Unpacked Size

    214 kB

    Total Files

    60

    Last publish

    Collaborators

    • wtrocki
    • krystianity
    • rob3000