Kuestenlogik.Surgewave.Protocol.Native
0.1.13
Prefix Reserved
dotnet add package Kuestenlogik.Surgewave.Protocol.Native --version 0.1.13
NuGet\Install-Package Kuestenlogik.Surgewave.Protocol.Native -Version 0.1.13
<PackageReference Include="Kuestenlogik.Surgewave.Protocol.Native" Version="0.1.13" />
<PackageVersion Include="Kuestenlogik.Surgewave.Protocol.Native" Version="0.1.13" />
<PackageReference Include="Kuestenlogik.Surgewave.Protocol.Native" />
paket add Kuestenlogik.Surgewave.Protocol.Native --version 0.1.13
#r "nuget: Kuestenlogik.Surgewave.Protocol.Native, 0.1.13"
#:package Kuestenlogik.Surgewave.Protocol.Native@0.1.13
#addin nuget:?package=Kuestenlogik.Surgewave.Protocol.Native&version=0.1.13
#tool nuget:?package=Kuestenlogik.Surgewave.Protocol.Native&version=0.1.13
Surgewave
The complete event streaming platform for .NET 10.
Surgewave is a complete event streaming platform built end-to-end on .NET 10 — native low-latency transport, signed plugin marketplace, built-in AI pipeline nodes, embedded broker for tests and edge. Full Kafka 4.0 wire compatibility ships in the box, so any existing Kafka client (Confluent.Kafka, librdkafka, kafka-go, …) connects on day one. Adopt Surgewave as your streaming platform; keep your existing Kafka producers and consumers working unchanged.
What Surgewave Does
Surgewave connects your services, devices, and data in real time. It distributes events reliably, processes streams on the fly, and stores them durably.
- Decouple microservices with pub/sub and request/reply
- Ingest IoT data from edge devices to the cloud
- Replicate database changes with built-in Change Data Capture (CDC)
- Transform, filter, join, and aggregate streams in real time. Use a fluent .NET API or SQL.
- Store events with configurable retention. Choose the storage engine for your use case: file-based, in-memory, shared-memory, database, or bring your own.
- Implement CQRS and event sourcing with ordered, replayable event logs
- Built-in dashboards and materialized views. Integrate into your existing monitoring via OpenTelemetry (OTEL).
Why Surgewave?
Easy to adopt
- Wire-compatible with Kafka 4.0. Run alongside Kafka or replace it entirely.
- Your existing clients, tools, and monitoring keep working.
- Just swap the broker and keep your Kafka clients. Or use Surgewave's .NET client, which switches protocols at runtime.
- Migrate service by service, in either direction.
Easy to operate
- Pure .NET, no JVM, no ZooKeeper. One technology stack, one team.
- Run embedded in your app, as a standalone broker, or scaled out across a cluster.
- Your .NET team can build, deploy, and troubleshoot everything with the skills they already have.
Built for performance
- Designed from scratch on .NET 10 with zero-copy and io_uring.
- Lower latency, higher throughput, less hardware.
Built for extensibility
- Add storage engines, protocol adapters, or connectors as plugins.
- Package as
.swpkgfiles, install at runtime, no fork required.
Quick Start
Start the broker:
docker run -p 9092:9092 -p 5050:5050 ghcr.io/kuestenlogik/surgewave
Open the Control UI at localhost:5050. See the Control UI guide for a walkthrough.
No Docker? See Building from Source below.
Connect with any Kafka client:
var config = new ProducerConfig { BootstrapServers = "localhost:9092" };
Learn More
| Getting Started | Install, configure, and run your first producer/consumer |
| .NET Client | Producer, consumer, and admin APIs with Source Link debugging |
| Kafka Conformance | Per-RPC and per-KIP status table — what's wired, stubbed, and out of scope |
| Schema Registry | 12 serialization formats with compatibility checking |
| Stream Processing | Real-time transforms, joins, aggregations, and SQL |
| Plugin Development | Build and package your own storage engines, connectors, or protocol adapters |
| CLI Reference | Manage topics, groups, schemas, and plugins from the command line |
Building from Source
Requires .NET 10 SDK.
git clone https://github.com/Kuestenlogik/Surgewave.git
cd Surgewave
dotnet build Kuestenlogik.Surgewave.slnx -c Release
dotnet run --project src/Kuestenlogik.Surgewave.Broker
For the full step-by-step guide — build, publish, and run in all variants (development, self-contained executables, Docker containers) — see docs/setup/building.md.
Contributing
See CONTRIBUTING.md. All contributions require signing a CLA.
License
Apache License 2.0. Free for any use, including commercial. Premium extensions (Surgewave.Ai, Surgewave.Replication, Surgewave.Governance, Surgewave.Functions, Surgewave.Fleet, Surgewave.Edge and Surgewave.Storage.Tiering.* among others) live in separate repositories under the Business Source License 1.1. For commercial licensing of those extensions: licensing@kuestenlogik.com.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- K4os.Compression.LZ4 (>= 1.3.8)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Kuestenlogik.Surgewave.Protocol.Native:
| Package | Downloads |
|---|---|
|
Kuestenlogik.Surgewave.Transport
Package Description |
|
|
Kuestenlogik.Surgewave.Client
High-performance Surgewave client library for .NET. Provides producer and consumer APIs with both Kafka and Surgewave native protocol support. |
|
|
Kuestenlogik.Surgewave.Transport.Quic
Surgewave client transport over raw QUIC — 0-RTT reconnect, per-stream flow control, resilience to packet loss. |
|
|
Kuestenlogik.Surgewave.Broker
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.