Get Surgewave running and send your first messages in under 5 minutes.
The fastest way to get started:
# Start Surgewave broker
docker run -d --name surgewave -p 9092:9092 -p 9093:9093 kuestenlogik/surgewave
# Verify it's running
docker logs surgewaveYou should see:
Surgewave broker started on 0.0.0.0:9092
gRPC server started on 0.0.0.0:9093
Download the latest release from GitHub Releases:
# Windows
surgewave-broker.exe
# Linux/macOS
./surgewave-brokerdotnet tool install -g Kuestenlogik.Surgewave.Tool
surgewave broker start# Create a topic
surgewave topics create my-first-topic --partitions 3
# Produce messages
surgewave produce my-first-topic --value "Hello, Surgewave!"
surgewave produce my-first-topic --key "user-1" --value "Welcome to Surgewave"
# Consume messages
surgewave consume my-first-topic --offset earliest --max-messages 10Output:
Offset: 0 Key: (null) Value: Hello, Surgewave!
Offset: 1 Key: user-1 Value: Welcome to Surgewave
Surgewave is 100% compatible with Apache Kafka clients. No code changes required:
// C# with Confluent.Kafka
var config = new ProducerConfig
{
BootstrapServers = "localhost:9092" // Point to Surgewave
};
using var producer = new ProducerBuilder<string, string>(config).Build();
await producer.ProduceAsync("my-topic", new Message<string, string>
{
Key = "key",
Value = "Hello from Kafka client!"
});# Python with kafka-python
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='localhost:9092')
producer.send('my-topic', b'Hello from Python!')// Java with kafka-clients
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("my-topic", "key", "Hello from Java!"));| Command | Description |
|---|---|
surgewave topics list |
List all topics |
surgewave topics create <name> |
Create a topic |
surgewave produce <topic> -m "msg" |
Produce a message |
surgewave consume <topic> |
Consume messages |
surgewave groups list |
List consumer groups |
surgewave health |
Check broker health |
- First Messages Tutorial - Detailed produce/consume examples
- Installation Guide - All deployment options
- Configuration - Configure Surgewave for your needs
- Client APIs - Using Surgewave from your application