A nimble, high-performance Kafka-compatible streaming service backed by Redis Streams.
Korvet is a Kafka-compatible streaming service that enables existing Kafka clients to work with Redis Streams. Like its namesake—a fast, agile corvette (attack boat)—Korvet is designed to be nimble and efficient.
-
Kafka Protocol Compatible: Works with existing Kafka clients (Filebeat, Logstash, Spark Streaming, kafka-console-producer/consumer)
-
Redis Streams Storage: Leverages Redis Streams for high-performance message storage
-
Consumer Groups: Full support for Kafka consumer groups with offset management
-
Topic Management: Create, delete, and configure topics via Kafka Admin API
-
Multi-Tenant Ready: Built-in tenant isolation with configurable stream key patterns
┌─────────────┐ ┌─────────────┐ ┌──────────────┐
│ Filebeat │────▶│ │────▶│ │
└─────────────┘ │ │ │ Redis │
│ Korvet │ │ Streams │
┌─────────────┐ │ Server │ │ │
│ Logstash │────▶│ │◀────│ (Storage) │
└─────────────┘ │ (Kafka │ │ │
│ Protocol) │ └──────────────┘
┌─────────────┐ │ │
│ Spark │◀────│ │
│ Streaming │ └─────────────┘
└─────────────┘The fastest way to try Korvet is with the ready-to-run samples:
# 2-minute demo with Kafka CLI tools
cd samples/kafka-cli
make up
make producer # Terminal 1
make consumer # Terminal 2See all samples for more examples.
Prerequisites: Docker
# Start Redis
docker run -d -p 6379:6379 redis
# Run Korvet server
docker run -d -p 9092:9092 -p 8080:8080 \
-e KORVET_REDIS_HOST=host.docker.internal \
redisfield/korvetSee the documentation site for complete configuration options.
Basic configuration in application.yml:
korvet:
server:
host: 0.0.0.0
port: 9092
redis:
host: localhost
port: 6379Try out Korvet with ready-to-run samples:
-
Kafka CLI Demo ⭐ START HERE - Quickest way to demo Korvet (2 minutes)
-
Filebeat Sample - Log aggregation with Filebeat and Logstash
-
Spark Streaming Demo - Real-time stream processing with Apache Spark
-
Pac-Man Game - Interactive multiplayer game using Kafka protocol
See all samples for detailed documentation.
-
Log Aggregation: Stream logs from Filebeat/Logstash to Redis Streams via Kafka protocol
-
Event Streaming: Real-time event processing with Spark Streaming using Kafka consumer API
-
IoT Data Pipelines: High-velocity sensor data ingestion with Redis Streams performance
-
Kafka Migration: Gradual migration from Kafka to Redis Streams with protocol compatibility
| Component | Technology |
|---|---|
Protocol |
Kafka wire protocol (Netty) |
Storage |
Redis Streams (Lettuce client) |
Framework |
Spring Boot |
Language |
Java 17 |
Build |
Gradle |
Deployment |
Docker, Kubernetes |
Target performance metrics:
| Metric | Target |
|---|---|
Throughput |
100K+ messages/sec |
Latency (p99) |
< 10ms |
Concurrent Connections |
1000+ clients |
-
Issues: GitHub Issues
-
Discussions: GitHub Discussions