Skip to content

synadia-io/orbit.net

Repository files navigation

License Test

Orbit .NET is a set of independent NuGet packages that build on NATS .NET. Each one solves a problem the core client doesn't cover:

  • Scaling consumers across instances? -> Partitioned consumer groups with auto-balancing and self-healing
  • Publishing at high throughput? -> Pipelined ack publisher + atomic batch commits
  • Need delayed or scheduled delivery? -> Schedule messages for future publish on JetStream
  • Distributed counters without a separate store? -> Atomic inc/dec backed by JetStream streams
  • KV keys with special characters? -> Base64 and path-style key codecs
  • Sharing NATS CLI context with your app? -> Read ~/.config/nats/context/ files into NatsOpts
  • Integration testing? -> Spin up nats-server with auto port assignment and JetStream

Use what you need. APIs may change until a package reaches v1.0.0.

Packages

Package Description Docs NuGet
Synadia.Orbit.Core.Extensions Request-many with custom sentinel support README NuGet
Synadia.Orbit.Counters Distributed counters on JetStream streams README NuGet
Synadia.Orbit.JetStream.Extensions Direct batch retrieval and scheduled messages README NuGet
Synadia.Orbit.JetStream.Publisher Backpressure publisher and atomic batch publishing for JetStream README NuGet
Synadia.Orbit.KeyValueStore.Extensions Key encoding codecs for KV stores README NuGet
Synadia.Orbit.NatsContext Connect to NATS using CLI context files README NuGet
Synadia.Orbit.PCGroups Partitioned Consumer Groups for horizontal scaling README NuGet
Synadia.Orbit.Testing.NatsServerProcessManager NATS server process management for testing README NuGet

Experimental Packages

The following packages are not part of the official NATS ecosystem. They are published exclusively in Orbit .NET to gauge interest and address NATS .NET community requests. Their APIs may change or the packages may be removed in future releases. If you're interested in any of these packages or have feedback, please open an issue and we'll consider promoting it to a fully supported package.

Package Description Docs NuGet
Synadia.Orbit.NatsCli.Plugin NATS CLI plugin framework for AOT-compiled binaries README NuGet
Synadia.Orbit.ParameterizedSubject Safe, parameterized NATS subject building with percent-encoding README NuGet

About

NATS .NET utility packages: JetStream publisher, partitioned consumers, scheduled messages, distributed counters

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages