Skip to content

jangocheng/pulsar-client-dotnet

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

May 27, 2020
40218c9 · May 27, 2020
Apr 22, 2020
May 11, 2020
Jun 24, 2019
May 27, 2020
May 27, 2020
May 27, 2020
Jun 29, 2019
Jun 24, 2019
May 11, 2020
May 27, 2020
May 14, 2020
May 27, 2020

Repository files navigation

pulsar-client-dotnet

.NET Core Windows .NET Core Ubuntu

Contributions are most welcome!

Pulsar.Client 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 (from https://github.com/apache/pulsar/wiki/Client-Features-Matrix):

  • Basic Producer/Consumer API
  • Partitioned topics
  • Batching
  • Compression
  • TLS
  • Authentication (token, tls)
  • 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

Quick contributing guide

Common steps before building

  • Fork and clone locally
  • Install Paket dotnet tool:
    • Globally dotnet tool install paket -g
    • Locally dotnet tool install paket --tool-path .paket
  • Install packages: paket install or .paket/paket install (if installed locally)
  • 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/heron
      • brew install streamlio/homebrew-formulae/pulsar
      • brew install streamlio/homebrew-formulae/bookkeeper
      • brew services start heron
      • 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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 56.0%
  • F# 43.5%
  • Shell 0.5%