Skip to content

SLAVONchick/pulsar-client-dotnet

This branch is 139 commits behind fsprojects/pulsar-client-dotnet:develop.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jun 22, 2022
25e41f2 · Jun 22, 2022
Jun 22, 2022
Dec 3, 2021
Aug 26, 2021
Jun 24, 2019
Jan 8, 2022
Jun 17, 2020
Jun 22, 2022
Jun 22, 2022
Jun 29, 2019
Jun 24, 2019
May 11, 2021
Mar 7, 2022
Jun 22, 2022
Jun 22, 2022

Repository files navigation

pulsar-client-dotnet

Pulsar.Client

.NET Core Windows .NET Core Ubuntu

Contributions and stars ★ are most welcome!

Pulsar.Client nuget | Pulsar.Client.Otel nuget

Supported pulsar cluster versions: 2.4+

Find examples of usage in /examples folder. We are trying to keep api similar to the Java client, so please take a look at it's documentation to understand possible options available. You can also join telegram chat https://t.me/pro_pulsar for further discussions.

Features list (based on Client Feature Matrix):

  • Basic Producer/Consumer API
  • Partitioned topics
  • Batching
  • Chunking
  • Compression
  • TLS
  • Authentication (token, tls, oauth2)
  • Reader API
  • Proxy Support
  • Effectively-Once
  • Schema (All types, Multi-version)
  • Consumer seek
  • Multi-topics consumer
  • Topics regex consumer
  • Compacted topics
  • User defined properties
  • Reader hasMessageAvailable
  • Hostname verification
  • Multi Hosts Service Url
  • Key_shared subscription
  • Key based batcher
  • Negative Acknowledge
  • Delayed/scheduled messages
  • Dead Letter Policy
  • Interceptors
  • Transactions
  • Statistics
  • End-to-end Encryption
  • SubscriptionInitialPosition
  • Cumulative Ack
  • Batch-Index Ack
  • SNI Routing
  • Table view

Quick contributing guide

Common steps before building

  • Fork and clone locally
  • Install dotnet tools: dotnet tool restore
  • Restore packages: dotnet restore

MacOS steps before building:

  • Install Snappy: brew install snappy
  • Install Libzstd: brew install zstd

Ubuntu steps before building:

  • Install Snappy: sudo apt-get install -y libsnappy-dev
  • Install Libzstd: sudo apt-get install -y libzstd-dev

Building and Testing

  • Build the solution: dotnet build (dotnet core sdk required) This will install required tools and then you can use any IDE to build solution
  • Make your modifications
  • Run unit tests: cd tests/UnitTests && dotnet test
  • (Optional) If changes are made in Client logic, run Integration tests. Before running do the following
    1. Install pulsar cluster:
      • MacOS guide:
      • brew tap streamlio/homebrew-formulae
      • brew install streamlio/homebrew-formulae/pulsar
      • brew install streamlio/homebrew-formulae/bookkeeper
      • brew services start pulsar
      • brew services start bookkeeper
    2. Run commands in /tests/IntegrationTests/commands.txt
    3. Change pulsarAddress in Common.fs to point your pulsar cluster
    4. Ensure public/default namespace with default settings
    5. Ensure public/retention namespace with time or storage size retention configured
  • Send a Pull Request

Maintaners

  • @Lanayx

About

Apache Pulsar native client for .NET (C#/F#/VB)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • F# 84.7%
  • C# 14.7%
  • Shell 0.6%