Pulsar.Client nuget | OpenTelemetry 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 https://github.com/apache/pulsar/wiki/Client-Features-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
- 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-formulae
brew install streamlio/homebrew-formulae/pulsar
brew install streamlio/homebrew-formulae/bookkeeper
brew services start pulsar
brew services start bookkeeper
- Run commands in
/tests/IntegrationTests/commands.txt
- Change
pulsarAddress
in Common.fs to point your pulsar cluster - Ensure
public/default
namespace with default settings - Ensure
public/retention
namespace with time or storage size retention configured
- Install pulsar cluster:
- Send a Pull Request