Pulsar C++ 客户端
你可以使用Pulsar C++客户端在C++中创建Pulsar 生产者、消费者和读取器。Pulsar C++客户端中的所有方法都是线程安全的。
开始使用
接下来是什么?
参考文档
3.0.0及以后版本的变更
Pulsar C++ 客户端的新版本从 3.0.0 开始,自 2.10.x 以来不再与 Pulsar 保持一致。有关最新版本,请参阅 下载 页面。
以3.0.0版本为例,有以下子目录:
- apk-arm64: 适用于ARM64架构的Alpine Linux包
- apk-x86_64: 适用于x64架构的Alpine Linux软件包
- deb-arm64: 适用于ARM64架构的基于Debian的Linux软件包
- deb-x86_64: 适用于x64架构的基于Debian的Linux软件包
- rpm-arm64: 适用于ARM64架构的基于RedHat的Linux软件包
- rpm-x86_64: 适用于x64架构的基于RedHat的Linux包
上述所有Linux软件包都包含安装在/usr/include下的C++头文件以及安装在/usr/lib下的以下库:
- libpulsar.so: 静态链接第三方依赖项的共享库
- libpulsar.a: 静态库
- libpulsarwithdeps.a: 包含所有第三方依赖的完整静态库
以下是一个链接这些库的示例,用于名为main.cc的C++源文件:
# Link to libpulsar.so
g++ -std=c++11 main.cc -lpulsar
# Link to libpulsarwithdeps.a
g++ -std=c++11 main.cc /usr/lib/libpulsarwithdeps.a -lpthread -ldl
# Link to libpulsar.a
g++ -std=c++11 main.cc /usr/lib/libpulsar.a \
-lprotobuf -lcurl -lssl -lcrypto -lz -lzstd -lsnappy -lpthread -ldl
caution
对于初学者来说,链接到libpulsar.a可能会很困难,因为第三方依赖必须兼容。例如,对于Pulsar C++客户端3.0.0,protobuf版本必须为3.20.0或更高。最好改为链接到libpulsarwithdeps.a。
danger
在3.0.0之前,有一个libpulsarnossl.so,现在已被移除。