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

    1.15.0 • Public • Published

    npm version npm pre-release version Build Status Slack Channel

    Logo

    KafkaJS

    A modern Apache Kafka® client for Node.js
    Get Started »

    Read the Docs · Report Bug · Request Feature

    Table of Contents

    About the Project

    KafkaJS is a modern Apache Kafka client for Node.js. It is compatible with Kafka 0.10+ and offers native support for 0.11 features.

    Features

    • Producer
    • Consumer groups with pause, resume, and seek
    • Transactional support for producers and consumers
    • Message headers
    • GZIP compression
      • Snappy, LZ4 and ZSTD compression through pluggable codecs
    • Plain, SSL and SASL_SSL implementations
    • Support for SCRAM-SHA-256 and SCRAM-SHA-512
    • Support for AWS IAM authentication
    • Admin client

    Getting Started

    npm install kafkajs
    # yarn add kafkajs 

    Usage

    const { Kafka } = require('kafkajs')
     
    const kafka = new Kafka({
      clientId: 'my-app',
      brokers: ['kafka1:9092', 'kafka2:9092']
    })
     
    const producer = kafka.producer()
    const consumer = kafka.consumer({ groupId: 'test-group' })
     
    const run = async () => {
      // Producing
      await producer.connect()
      await producer.send({
        topic: 'test-topic',
        messages: [
          { value: 'Hello KafkaJS user!' },
        ],
      })
     
      // Consuming
      await consumer.connect()
      await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })
     
      await consumer.run({
        eachMessage: async ({ topic, partition, message }) => {
          console.log({
            partition,
            offset: message.offset,
            value: message.value.toString(),
          })
        },
      })
    }
     
    run().catch(console.error)

    Learn more about using KafkaJS on the official site!

    Read something on the website that didn't work with the latest stable version?
    Check the pre-release versions - the website is updated on every merge to master.

    Contributing

    KafkaJS is an open-source project where development takes place in the open on GitHub. Although the project is maintained by a small group of dedicated volunteers, we are grateful to the community for bug fixes, feature development and other contributions.

    See Developing KafkaJS for information on how to run and develop KafkaJS.

    Help wanted 🤝

    We welcome contributions to KafkaJS, but we also want to see a thriving third-party ecosystem. If you would like to create an open-source project that builds on top of KafkaJS, please get in touch and we'd be happy to provide feedback and support.

    Here are some projects that we would like to build, but haven't yet been able to prioritize:

    Contact 💬

    Join our Slack community

    Sponsors ❤️

    To become a sponsor, reach out in our Slack community to get in touch with one of the maintainers. Also consider becoming a Github Sponsor by following any of the links under "Sponsor this project" in the sidebar.

    License

    See LICENSE for more details.

    Acknowledgements

    Apache Kafka and Kafka are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. KafkaJS has no affiliation with the Apache Software Foundation.

    Install

    npm i kafkajs

    Homepage

    kafka.js.org

    DownloadsWeekly Downloads

    266,506

    Version

    1.15.0

    License

    MIT

    Unpacked Size

    672 kB

    Total Files

    378

    Last publish

    Collaborators

    • nevon
    • tulios