Skip to main content
net10.0

Message bus built on top of NATS

Published
Sep 30, 2026
18d ago
Total Downloads
8.1K
8,078

Install

dotnet add package K4os.NatsTransit.GoogleProtobuf --version 0.1.10
ProductVersions
.NET
net10.0

README

K4os.NatsTransit

Messaging library built on top of NATS JetStream: commands, queries, requests and events with pluggable serialization, OpenTelemetry instrumentation, outbox, sagas, distributed locks, key-value/object stores and caching.

Source, issues and full documentation: https://github.com/MiloszKrajewski/K4os.NatsTransit

Packages

All packages depend on K4os.NatsTransit.Abstractions and are peers, not layers (unless noted):

  • K4os.NatsTransit β€” message bus (needs .Serialization)
  • K4os.NatsTransit.Serialization, .NewtonsoftJson, .GoogleProtobuf β€” serializers
  • K4os.NatsTransit.Storage, .Storage.AdoNet β€” value store / object store (NATS KV, Object Store, SQL)
  • K4os.NatsTransit.Locking β€” distributed locks
  • K4os.NatsTransit.Caching, .Caching.FusionCache β€” IDistributedCache / FusionCache backplane
  • K4os.NatsTransit.Outbox, .Outbox.EF β€” outbox pattern
  • K4os.NatsTransit.Sagas β€” stateful long-running workflows
  • K4os.NatsTransit.HealthChecks, .OpenTelemetry β€” observability

For AI agents: cheat sheet

Opinionated, recipe-style briefs for bootstrapping a service with these packages ship inside K4os.NatsTransit.Abstractions (every package depends on it), in its doc/cheat-sheet/ folder. Once the package is restored it is in the NuGet global-packages cache:

<global-packages>/k4os.natstransit.abstractions/<version>/doc/cheat-sheet/index.md
  • If you are reading this file from the cache (<global-packages>/k4os.natstransit.<package>/<version>/README.md), the same file is at ../../k4os.natstransit.abstractions/<version>/doc/cheat-sheet/index.md. Inside the Abstractions package itself it is simply doc/cheat-sheet/index.md.
  • <version> is the currently referenced version of the package.
  • <global-packages> is usually ~/.nuget/packages, or the folder in the NUGET_PACKAGES environment variable when it is set. If neither helps, dotnet nuget locals global-packages -l prints the actual location.

Start with index.md, then read only the files matching the packages you use.

Changes from Previous Version

No structural changes between v0.1.9 and v0.1.10.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.