Kvrocks 是基于 RocksDB 之上兼容 Redis 协议的 NoSQL 存储服务,设计目标是提供一个低成本以及大容量的 Redis 服务,作为 Redis 在大数据量场景的互补服务,选择兼容 Redis 协议是因为简单易用且业务迁移成本低。复制和存储的设计受到 rocksplicator 和 blackwidow 的启发。
Kvrocks 设计的初衷是作为 Redis 场景的互补,低成本、低延时和高吞吐是最重要的设计目标。
Kvrocks 具有以下主要功能:
- Redis 协议,用户可以使用 redis 客户端访问 kvrocks
- 命名空间,类似于 redis db,但每个命名空间使用令牌
- 复制,异步复制使用像 MySQL 这样的 binlog
- 高可用,支持 redis sentinel 在 master 或 slave 故障时进行 failover