Apache Pulsar NodeJS Client

Clone this repo:
  1. a1dfab7 Add type definitions (#140) by Masahiro Sakamoto · 3 weeks ago master
  2. 8140080 Return MessageId as promise resolve at Producer#send (#137) by Yuri Mizushima · 2 months ago
  3. f010fb2 Add Multi-Topic Support to Consumer (#130) by savearray2 · 5 months ago
  4. 4b8a799 Adds Pattern/RegEx Support to Consumer (#125) by savearray2 · 5 months ago
  5. 1b8f8d9 Adds getProducerName and getTopic to Producer (#126) by Alan Hoffmeister · 5 months ago

Pulsar Node.js client library

The Pulsar Node.js client can be used to create Pulsar producers and consumers in Node.js.


Pulsar Node.js client library is based on the C++ client library. Follow the instructions for C++ library for installing the binaries through RPM, Deb or Homebrew packages.

(Note: you will need to install not only the pulsar-client library but also the pulsar-client-dev library)

Also, this library works only in Node.js 10.x or later because it uses the node-addon-api module to wrap the C++ library.


Compatibility between each version of the Node.js client and the C++ client is as follows:

Node.js clientC++ client or later or later or later

If an incompatible version of the C++ client is installed, you may fail to build or run this library.

How to install

Please install pulsar-client in your project:

$ npm install pulsar-client

Sample code

Please refer to examples.

How to build

Install dependent npm modules and build Pulsar client library:

$ git clone https://github.com/apache/pulsar-client-node.git
$ cd pulsar-client-node
$ npm install

Rebuild Pulsar client library:

$ npm run build