查看原文
其他

Go Client 0.1.0 版本正式发布

冉小龙 StreamNative 2021-10-19


由于 Go 语言与生俱来的优势以及 Go 社区的不断壮大,Pulsar 社区对 Go Client 的呼声很高。


此前,Pulsar 社区向大家提供了基于 CPP 封装的 「pulsar-client-go」。但是 CGO 存在诸多问题,且性能易损耗,使得 Pulsar 难以更好地支持 Go 社区。这促使我们基于原生的 Go 语言来重写整个 Go Client。

全新的 pulsar-client-go 是一个使用 Go 语言编写的 Go Client 库,旨在替换原来的 CGO client,从而更好地支持 Pulsar在 Go 社区的应用和集成 。

详情参考:
https://github.com/apache/pulsar-client-go




新增特性


🙋‍♂️Client

  • 支持 `TLS` 逻辑。

  • 支持 `Authentication` 逻辑。

  • 支持 `Proxy` 逻辑。

  • 支持 `Hostname verification` 逻辑。


🙋‍♂️Producer

  • `Producer` 接口中新增以下方法:

    • `Send()` 

    • `SendAsync()`

    • `LastSequenceID()`

    • `Flush()` 

    • `Close()`

    • `Topic()`

    • `Name()` 

  • 支持 `MessageRouter` 逻辑。

  • 支持 `batch` 逻辑。

  • 支持 `compression message` 逻辑。

  • 支持 `HashingScheme` 逻辑。

  • 支持 `User defined properties producer` 逻辑。


🙋‍♂️Consumer

  • `Consumer` 接口中新增以下方法:

    • `Subscription()` 

    • `Unsubscribe()` 

    • `Receive()` 

    • `Ack()` 

    • `AckID()` 

    • `Nack()` 

    • `NackID()` 

    • `Seek()` 

    • `SeekByTime()` 

    • `Close()` 

  • 支持 `Dead Letter Queue` 策略。

  • 支持 `Topics Pattern``Topics` 逻辑。

  • 支持 `topic consumer regx` 逻辑。

  • 支持 `multi topics consumer` 逻辑。

  • 支持 `Exclusive``Failover``Shared``KeyShared` 订阅类型逻辑。 

  • 支持 `Latest``Earliest` 逻辑。

  • 支持 `ReadCompacted` 逻辑。

  • 支持 `ReplicateSubscriptionState` 逻辑。

  • 支持 `User defined properties consumer` 逻辑。

  • 支持 `Delayed Delivery Messages` 逻辑。


🙋‍♂️Reader
  • `Reader` 接口中新增以下方法:

    • `Topic()` 

    • `Next()` 

    • `HasNext()` 

    • `Close()` 

  • 支持 `read compacted` 逻辑。

  • 支持 `start messageID` 逻辑。

  • 支持 `User defined properties reader` 逻辑。




未来规划


- 支持 `Schema` 逻辑。

- 支持 `Effectively-Once` 逻辑。

- 支持 `Multi Hosts Service Url support` 逻辑。



贡献


我们非常欢迎并感谢您作出的贡献。关于如何提交补丁和参与项目,可以参考下方链接获取详细信息。


https://github.com/apache/pulsar-client-go/blob/master/CONTRIBUTING.md



贡献者


感谢以下社区人员为 Go Client 0.1.0 版本的正式发布做出卓越贡献:


  • merlimat
    https://github.com/merlimat

  • wolfstudy
    https://github.com/wolfstudy

  • cckellogg
    https://github.com/cckellogg

  • xujianhai666
    https://github.com/xujianhai666

  • reugn
    https://github.com/reugn

  • freeznet
    https://github.com/freeznet

  • zzzming
    https://github.com/zzzming

  • wty4427300
    https://github.com/wty4427300

  • stevenwangnarvar
    https://github.com/stevenwangnarvar

  • dsmlily
    https://github.com/dsmlily

  • banishee
    https://github.com/banishee

  • archfish
    https://github.com/archfish

  • Morsicus
    https://github.com/Morsicus



👇🏻点击「阅读原文」查看 Go Client GitHub

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存