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
- Fork and clone locally
- Install dotnet tools:
dotnet tool restore - Restore packages:
dotnet restore
- Install Snappy:
brew install snappy - Install Libzstd:
brew install zstd
- Install Snappy:
sudo apt-get install -y libsnappy-dev - Install Libzstd:
sudo apt-get install -y libzstd-dev
- 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
- Install pulsar cluster:
- MacOS guide:
brew tap streamlio/homebrew-formulaebrew install streamlio/homebrew-formulae/pulsarbrew install streamlio/homebrew-formulae/bookkeeperbrew services start pulsarbrew services start bookkeeper
- Run commands in
/tests/IntegrationTests/commands.txt - Change
pulsarAddressin Common.fs to point your pulsar cluster - Ensure
advertisedAddressin broker.conf to point your pulsar cluster - Ensure
public/defaultnamespace with default settings - Ensure
public/retentionnamespace with time or storage size retention configured
- Install pulsar cluster:
- Send a Pull Request
- You can suppport me (@Lanayx) using Github sponsors so I continue maintaining this project well.
- If you want me to implement new (missing) features, this can be arranged on a paid basis using Github sponsors as well, please PM in Telegram
