Surgewave

Your Streams.
At Scale. In Control.

The .NET-native message streaming platform. No more JVM.
Drop-in Kafka replacement. Run it embedded, standalone, or clustered.
AI pipelines, schemas, and a plugin marketplace — built in, not bolted on.

NuGet Downloads License Apache 2.0 Wire Surgewave + Kafka 4.x Built on .NET 10 Runs as Single binary

Performance

By the numbers

Numbers are conservative measurements; multipliers are targets from reproducible benchmarks against Apache Kafka on the same hardware. Click any tile for the methodology and chart.

See it in action

Surgewave.Control — the built-in management UI. Browse topics, design pipelines visually, install plugins, and monitor throughput in real time.

One UI for every operation — topic management, consumer groups, schema registry, signed plugin marketplace, visual AI/pipeline editor, real-time throughput. No separate dashboards, no third-party monitoring stack.

Every operation, one Surgewave.Control

From first connection through pipeline design to production observability — Surgewave.Control shows the right tools at the right moment.

A complete platform, not just a broker.

Surgewave ships the features teams usually bolt on: native fast transport, a typed schema registry, a signed plugin ecosystem, AI pipeline nodes, a Blazor control plane, a cloud control plane for many clusters — and full Kafka 4.x wire compatibility on top.

N

Native low-latency transport

Zero-copy framed protocol over TCP/QUIC for .NET clients. Designed for in-process and edge deployments where Kafka's TCP handshake overhead is too costly.

S

Signed plugins + SBOM

.swpkg packages signed with ECDSA or enterprise X.509/RFC-3161 timestamps. Every package ships a CycloneDX SBOM. Marketplace enforces on upload.

A

AI pipeline nodes

Built-in OpenAI / Anthropic / Ollama / xAI / Vertex AI nodes, Qdrant + pgvector retrievers, agent memory, guardrails, ONNX scoring — all as composable pipeline steps.

R

Schema Registry

Confluent-compatible REST API, 11 formats out of the box (Avro, Protobuf, JSON, FlatBuffers, MessagePack, CBOR, Hyperion, Bond, Thrift, MemoryPack, Cap'n Proto, Orleans).

C

Surgewave.Connect

117+ source and sink connectors for databases, cloud stores, SaaS APIs, IoT, and AI. Each shipped as a signed .swpkg. Build your own in an afternoon.

T

Streams + Interactive Queries

Kafka-Streams-style DSL on top of Surgewave with stateful joins, windowing, and HTTP-queryable state stores. LINQ everywhere it makes sense.

U

Surgewave.Control + Fleet

MudBlazor admin UI per broker, plus Surgewave.Fleet as a single cloud control plane for many clusters across DCs with QUIC-linked health, governance, and lifecycle.

E

Embedded mode

Run Surgewave in-process for tests, CI, and edge deployments. Same API, same guarantees — no broker container required.

K

Kafka 4.x wire — migration path

Drop-in compatible with Confluent.Kafka, librdkafka, kafka-go and friends. Point your existing producers and consumers at Surgewave and migrate gradually.

Speak every protocol your stack already uses

One broker, many wires. Surgewave's native protocol is the fast path for new .NET clients; the Kafka 4.x wire keeps every existing client connected. Each protocol is a discoverable plugin — load only what you need.

Solutions, not just features

Each Surgewave use case starts from a real pain we kept hitting in .NET shops — here's what Surgewave actually does about it, and where to go next.

Escape Kafka without a rewrite

The pain

JVM cluster ops, ZooKeeper drift, KRaft surprise upgrades, Confluent licence math.

Surgewave

Kafka-wire compatibility means existing producers, consumers, and admin tools connect unchanged. Transactions stay exactly-once. Migrate one topic at a time.

Migration guide →

Real-time fraud detection

The pain

Kafka-Streams + Flink + an ML cluster — three systems, three SREs, three bills, three failure modes.

Surgewave

Joins, windowing, and ONNX scoring inside a single .NET process. Native protocol round-trip lands risk decisions inside the tap-to-pay envelope.

Fraud-detection cookbook →

AI pipelines & agent memory

The pain

Agent memory glued from Postgres + Redis + Pinecone + LangChain — four systems, four bills, brittle plumbing.

Surgewave

Topic-as-memory, embedded vector retrievers, signed OpenAI / Ollama / Qdrant pipeline nodes. Guardrails veto outputs in-line.

AI docs →

Digital twins & massive simulation

The pain

A million vehicles × per-second state updates × replay-the-last-week = Kafka segments thrash, JVM GC stalls.

Surgewave

Per-entity partitioning, native sub-ms transport, RocksDB for hot keyed state, S3-direct for cold replay — weeks of history cost cents per GB.

FleetTracker & DigitalTwin samples →

Storage that fits the workload

The pain

Kafka and Redpanda lock you into one log-segment engine. Keyed lookups become partition scans, cold archives stay on hot SSD — or you pay extra for someone's tiered-storage add-on.

Surgewave

Pick the engine per topic. Arrow columnar for analytics, RocksDB for keyed state, S3-direct for cold archive, NVMe-direct for hot paths — or write your own against IStorageEnginePlugin.

Storage engines →

IoT & edge ingestion

The pain

Gateways speak MQTT, analytics wants Kafka — you cobble a bridge service nobody owns.

Surgewave

MQTT in, Kafka out — same broker, same topic, no bridge service. Embedded broker on the edge gateway itself.

IoT cookbook →

Surgewave vs the field

A structured side-by-side — broken down by what operators care about: Admin, Performance, Cost, Reliability, Capability.

Criterion Surgewave Apache Kafka Redpanda Aeron
Admin & Operations
Deployment Single binary, no JVM JVM cluster + KRaft / ZK Single binary (C++) Library inside your process
Coordination Built-in Raft KRaft or ZooKeeper Built-in Raft None (transport only)
Embedded mode In-process (surgewave://embedded) No No Yes (it’s a library)
Control plane Per-broker Control + fleet view Kafka Admin API + 3rd-party Redpanda Console External tooling
Performance
P99 latency Sub-ms (native), Kafka-baseline on Kafka wire JVM-bounded, ~ms Sub-ms (C++ broker) Microsecond UDP
Throughput >1M msg/s/broker >1M msg/s/broker ~1.5M msg/s/broker 10M+ msg/s (in-memory)
Runtime .NET 10 / C# 14, AOT-ready JVM (Scala/Java) C++ (Seastar) JVM
Cost & Footprint
Memory No JVM heap, GC-aware JVM heap tuning required Thread-per-core (no GC) JVM heap
Cold storage Tiered to S3/Azure/GCS 3.6+ tier (preview) Tiered (managed only) No
Disk format Arrow, RocksDB, S3, NVMe-direct Kafka segment log Custom segment log Off-heap buffers
Reliability
Replication Per-partition ISR + Raft ISR-based Raft (per-partition) No persistence
Exactly-once Producer Tx + WriteTxnMarkers Yes (Kafka EOS) Yes App-layer
Geo-replication Cluster Linking + Mirror MirrorMaker 2 Built-in linking None
Capability
Wire protocols Kafka 4.x + Native + gRPC + AMQP + MQTT + WebSocket + QUIC Kafka only Kafka only UDP/multicast
Plugin model Signed .swpkg, ALC isolation JAR (Connect, MM2) Wasm transforms None
Stream processing Surgewave.Streams (KIP-1071-aware) Kafka Streams Console transforms None
AI pipelines Built-in nodes (RAG, agents, ONNX) External tooling External tooling None
Schema Registry Confluent-API compatible, built-in External (Confluent SR) External (Confluent SR) None

Public head-to-head benchmarks land with 1.0; the table above summarises architecture, not measured numbers. See the full Surgewave vs Kafka write-up for the migration story.

Install in under a minute

Native packages for every major OS, plus a portable container image. Surgewave has no JVM dependency — the broker is one self-contained binary.

winget install Kuestenlogik.Surgewave
# or download surgewave-x.y.z-win-x64.msi from
# github.com/Kuestenlogik/Surgewave/releases

Want a deeper integration? See the embedded-broker guide, or browse the full download options.

Up and running in three commands

Pick what you need. We'll show the exact lines for your setup.

Which components do you need?

Prefer code? Open the 5-minute quickstart with the .NET, Go, and Python client SDKs.

Migrating from Apache Kafka?

Repoint your clients. Done.

Surgewave speaks the Kafka 4.x wire protocol on the standard Kafka endpoint. Existing Confluent.Kafka and librdkafka-based clients connect unchanged. When you're ready for lower latency, swap the NuGet package and stay on the same API.

# Before — your Kafka client
bootstrap.servers=kafka-1:9092,kafka-2:9092,kafka-3:9092

# After — same client, same config syntax, same cluster shape
bootstrap.servers=surgewave-1:9092,surgewave-2:9092,surgewave-3:9092

Sovereign by design

Made in Germany. Built for Europe.

Surgewave is a Küstenlogik product, engineered and maintained in Germany under EU data protection law. As the conversation about European technological sovereignty gets louder, the answer to “what do we actually own” needs to be short: this runs on your iron, under your rules.

  • Self-hosted by default. Surgewave runs on your infrastructure — bare metal, private cloud, or a sovereign EU cloud. There is no managed SaaS that we operate; your topic data never sits on our servers.
  • No CLOUD Act exposure. Küstenlogik is a German company. There is no US parent, no US subsidiary that can be served with a CLOUD Act or FISA 702 disclosure order on your behalf.
  • GDPR built in. Field-level encryption, PII detection, and right-to-erasure ship as a first-class Privacy plugin — not gated behind an enterprise tier and not a bolt-on third-party integration.
  • Apache 2.0 core, auditable. Every line of the broker, the protocol, the storage engine and the CLI is public. Forkable, reviewable, no rug-pull licence terms.
  • No opt-out telemetry. Metrics and traces go to the OTLP endpoint you configure — or nowhere at all.

Privacy & data sovereignty About Küstenlogik

Roadmap

On course

What just shipped — and what’s next on the chart.

Full detail and ordering live in the ROADMAP.md.

We Wrote the Framework.

Surgewave is built and maintained by Küstenlogik. When you need production-grade Surgewave — performance tuning, custom plugins, Kafka migration, architecture review — talk to the people who wrote it.

Production Support

24/7 incident response with an SLA. We pick up the pager when your cluster does. Triage, root-cause, fix, postmortem — all by the people who wrote the code paths.

Custom Plugins

Need a connector for an in-house system? A bespoke storage engine for your hot path? An AI pipeline node tied to your model registry? We build, sign, and ship it as a regular .swpkg.

Architecture Review

Pre-deployment audit before you put Surgewave on the critical path: capacity planning, replication topology, security review, failure-mode walkthrough. Two-week engagement, written report.

Migration & Training

Coming from Kafka, Redpanda, or a custom queue? We run the migration, train your platform team alongside, and stick around through the first week of production.

Get in touch How an engagement works

FAQ

Questions, answered

The short version. Deeper dives live in the docs and the comparison pages.

What is Surgewave?

A Kafka-wire-compatible message broker written in .NET 10. It accepts unmodified Kafka 4.x clients on port 9092 and adds a native binary protocol for lower-latency .NET workloads — broker, streams, schema registry, and control plane all on one runtime, with an embedded mode for tests and edge.

Can I use my existing Kafka clients?

Yes. Surgewave speaks the Kafka 4.x wire protocol, so any Kafka client (Confluent.Kafka, librdkafka, …) works unchanged — just point bootstrap.servers at Surgewave. Switch to the native protocol later for lower latency, no rewrite required.

Why Surgewave instead of Apache Kafka?

Same wire protocol, no JVM, no ZooKeeper, single binary, and an embedded mode that makes integration tests run without Docker. Full migration story on the Surgewave vs Kafka page.

Why not Redpanda?

Both drop the JVM — Redpanda bets on C++, Surgewave on .NET 10. If your stack is .NET, Surgewave gives you broker, streams and plugins on the same runtime, with an Apache-2.0 core (not BSL). Details on Surgewave vs Redpanda.

Why not Aeron?

Aeron is a transport library, not a persistent broker — no durable log, no Kafka API. Surgewave is a broker with replayable storage that also offers a low-latency native transport. See Surgewave vs Aeron.

Do I need Docker or ZooKeeper?

No. Coordination is built in (KRaft-style Raft, in-process). For tests you can run an embedded in-memory broker — no container, no external services:

await using var surgewave = new EmbeddedSurgewave();
await surgewave.StartAsync();
Which .NET version is required?

.NET 10 or later. Surgewave uses modern C# and is tuned for performance with Span<T>, Memory<T> and SIMD.

Is it open source?

Yes — the core is Apache-2.0 (GitHub). Enterprise features ship as separately-licensed plugins, so the broker, clients and core tooling stay permissively licensed.

Ready to swap out your Kafka?

Surgewave runs a single-node broker, a full cluster, or an embedded in-process mode from the same binaries. Try it in five minutes.

Single binary. No JVM. Runs in 30 seconds.

Custom plugins, paid support, or architecture review? Talk to us · See our services