commit | ca54275634fc00af14a677e0a491fbc1158d7e9a | [log] [tgz] |
---|---|---|
author | Robert Kawecki <rkaw92@users.noreply.github.com> | Sat Sep 17 19:23:09 2022 +0200 |
committer | GitHub <noreply@github.com> | Sat Sep 17 10:23:09 2022 -0700 |
tree | 86799cf8a703a2cda6fdc6eda9c97cf4a63b9084 | |
parent | db9ad97091ef04e5687f32764f0037df2d23135b [diff] |
Respect maxPendingMessagesAcrossPartitions (#231) Fixes #230 This change should help avoid `ProducerQueueIsFull` errors when producing to a partitioned topic with batchingEnabled.
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 client | C++ client |
---|---|
1.0.x | 2.3.0 or later |
1.1.x | 2.4.0 or later |
1.2.x | 2.5.0 or later |
1.3.x | 2.7.0 or later |
1.4.x - 1.6.x | 2.8.0 or later |
1.7.x | 2.10.1 or later |
If an incompatible version of the C++ client is installed, you may fail to build or run this library.
cmake \ -A x64 \ -DBUILD_PYTHON_WRAPPER=OFF -DBUILD_TESTS=OFF \ -DVCPKG_TRIPLET=x64-windows \ -DCMAKE_BUILD_TYPE=Release \ -S . cmake --config Release
PULSAR_CPP_DIR
with the pulsar-client-cpp
path in a Windows command tool.# for example set PULSAR_CPP_DIR=C:\pulsar\pulsar-client-cpp
OS_ARCH
in a Windows command tool, OS_ARCH
is related to the configuration of VCPKG_TRIPLET on the command line above.(Optional)set OS_ARCH=x64-windows
brew install libpulsar
brew info libpulsar
PULSAR_CPP_DIR
with the pulsar-client-cpp
path in a mac command tool.# for example ## Intel x86_64 export PULSAR_CPP_DIR=/usr/local/Cellar/libpulsar/2.9.1_1 ## Apple Silicon and Homebrew since 3.0.0 ## cf. https://brew.sh/2021/02/05/homebrew-3.0.0/ export PULSAR_CPP_DIR=/opt/homebrew/Cellar/libpulsar/2.9.1_1
# rpm $ yum install gcc-c++ make # debian $ apt-get install g++ make
# Set the version of Pulsar C++ client to install $ PULSAR_CPP_CLIENT_VERSION=2.9.1 # rpm $ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/RPMS/apache-pulsar-client-${PULSAR_CPP_CLIENT_VERSION}-1.x86_64.rpm $ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/RPMS/apache-pulsar-client-devel-${PULSAR_CPP_CLIENT_VERSION}-1.x86_64.rpm # debian $ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/DEB/apache-pulsar-client.deb $ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/DEB/apache-pulsar-client-dev.deb
# rpm $ rpm -ivh apache-pulsar-client*.rpm # debian $ apt install ./apache-pulsar-client*.deb
$ npm install pulsar-client
Please refer to examples.
$ git clone https://github.com/apache/pulsar-client-node.git $ cd pulsar-client-node $ npm install
Note
If you build
pulsar-client-node on
windows, you need to set the variablePULSAR_CPP_DIR
first, then install npm (run the commandnpm install
) in a Windows command-line tool.
$ npm run build