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 (from https://github.com/apache/pulsar/wiki/Client-Features-Matrix):
- Basic Producer/Consumer API
- Partitioned topics
- Batching
- Compression
- TLS
- Authentication (token-based)
- Reader API
- Proxy Support
- Effectively-Once
- Schema
- Consumer seek
- Multi-topics consumer
- Topics regex consumer
- Compacted topics
- User defined properties producer/consumer
- Reader hasMessageAvailable
- Hostname verification
- Multi Hosts Service Url support
- Key_shared
- key based batcher
- Negative Acknowledge
- Delayed Delivery Messages
- Dead Letter Policy
- Interceptors
- Fork and clone locally
- Install Paket dotnet tool:
- Globally
dotnet tool install paket -g - Locally
dotnet tool install paket --tool-path .paket
- Globally
- Install packages:
paket installor.paket/paket install(if installed locally) - 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/heronbrew install streamlio/homebrew-formulae/pulsarbrew install streamlio/homebrew-formulae/bookkeeperbrew services start heronbrew services start pulsarbrew services start bookkeeper
- Run commands in
/tests/IntegrationTests/commands.txt - Change
pulsarAddressin Common.fs 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