关于 Apache Pulsar

Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐以及低延时的高可扩展流数据存储特性。

GitHub 地址:http://github.com/apache/pulsar/

Apache Pulsar 支持众多客户端,如 Java、Go、Python、C++、Node.js、C# 等语言客户端,这对不同语言开发者非常友好。近期,Pulsar Go 客户端 0.6 版本、Pulsar NodeJS 客户端 1.4.0 版本接连发布,下面我们对它们做个简单介绍,方便大家了解。

Pulsar Go 客户端 0.6 版本发布

pulsar-client-go 是一个使用 Go 语言编写的 Pulsar Go Client 库,项目目标在于创建纯 Go 语言编写的客户端,并且不依赖任何 C++ 库文件。用户可以通过 Pulsar Go 客户端在 Go(又称 Golang)中创建 Pulsar 生产者、消费者和 reader。在 Go 客户端中,生产者、消费者和 reader 中的所有方法都是线程安全的。

近期,Pulsar Go 客户端发布最新 0.6 版本,下面是 0.6 版本关键功能和改进,以供参考。

关键功能

•支持 PartitionsAutoDiscoveryInterval 可配置•为 MessageID 接口增加 LedgerId,EntryId,BatchIdx,PartitionIdx•支持 Opentracing •为依赖库文件增加软件协议声明•更新 PulsarApi.proto 文件版本,与 Pulsar 主仓库版本保持一致等

改进

•更新 JWT-GO 依赖文件以解决对应的漏洞•修复 Athenz 仓库名称•重新生成证书,以适配 Pulsar 2.8.0 和 Java 11•修复默认的连接超时问题等

更详细信息,可参阅 Pulsar Go Client 0.6 发布注记[1]

Apache Pulsar Node.js 客户端 1.4.0 版本发布

Pulsar Node.js 客户端支持用 Node.js 来创建 Pulsar 生产者和消费者。Pulsar Node.js 客户端库基于 C++ 客户端库文件,支持 Node.js 10.x 版本及更新版本。

近期,Pulsar Node.js 客户端发布 1.4.0 版本,下面是本次版本主要功能和改进描述,大家可参考。

关键功能

•为 Producer/Consumer/Reader 增加连接状态支持•支持 Reader 监听功能•支持 Node.js 客户端的端到端加密•支持禁用复制

改进

•使用 Buffer::Copy 代替 Buffer::New•修复 MessageId::Serialize 引起的内存泄露•修复 MessageId::ToString 引起的内存泄露

更多信息,可参与 Pulsar NodeJS 客户端 1.4.0 发布注记[2]

 

引用链接

[1] Pulsar Go Client 0.6 发布注记: https://github.com/apache/pulsar-client-go/releases
[2] Pulsar NodeJS 客户端 1.4.0 发布注记: https://github.com/apache/pulsar-client-node/releases