|
For the latest stable version, please use Korvet 0.12.5! |
Kafka Compatibility
Korvet implements a subset of the Kafka protocol for compatibility with existing clients and tools.
Supported APIs
| API | Status | Notes |
|---|---|---|
Produce |
✅ Supported |
Send messages to topics |
Fetch |
✅ Supported |
Read messages from topics |
Metadata |
✅ Supported |
Topic and partition information |
ApiVersions |
✅ Supported |
Protocol version negotiation |
Consumer Groups |
✅ Supported |
JoinGroup, SyncGroup, Heartbeat, LeaveGroup, OffsetCommit, OffsetFetch |
Transactions |
❌ Not planned |
Use Redis transactions instead |
Admin API |
✅ Supported |
CreateTopics, DeleteTopics, DescribeConfigs, DescribeCluster, ListGroups, DescribeGroups |
Limitations
-
Replication factor: Always 1 (Redis provides persistence)
-
Transactions: Not supported
-
Exactly-once semantics: Not supported (at-least-once delivery)
Client Configuration
Most Kafka client configurations work with Korvet. Some settings are ignored:
-
acks: Always treated asacks=1 -
replication.factor: Ignored (always 1) -
min.insync.replicas: Ignored
Testing Compatibility
You can test Korvet with your existing Kafka applications by simply changing the bootstrap.servers configuration to point to Korvet.