简介
-
基于国产化技术浪潮,关注到了腾讯开源的tendis
-
使用完全兼容redis协议,几乎不用修改源码
-
同样支持去中心化的集群架构
-
主要特性
- 兼容redis协议,支持大多数Redis命令
- 支持持久化,可用rocksdb作为存储引擎
- 去中心化,节点间通过gossip协议通信
- 支持水平扩展,扩缩容可对运维透明
- 支持高可用,slave可自动提升为master
- 支持冷热混合存储,可与Redis组合成冷热混合模式
安装部署
- 下载:https://github.com/Tencent/Tendis/releases/tag/2.1.2-rocksdb-v5.13.4
- tar -zxvf解压
- 启动:./scripts/start.sh
- 端口默认为51002
- 如果在虚拟机内部署,记得把bind参数设置为0.0.0.0,否则宿主机连不上
- 测试,只需修改原有redis配置IP及端口,指向Tendis即可
- 也可通过redis-cli 客户端上去使用命令测试一把
- 使用rdm工具进去后不好用,可能对于scan命令不支持原有
- 官方文档:http://tendis.cn/#/
从redis迁移数据到Tendis
- 使用 redis-sync 同步数据
RocksDB简介
- C++编写的嵌入式kv存储引擎
- 由Facebook基于levelDB开发
- 延迟小,支持不同压缩算法,性能高
- 提供三种基本数据结构:
- mentable:一种内存数据结构,所有写请求都进入
- logfile:一种有序写存储结构,请求会选择性进入
- sstfile:数据排好序的,便于通过key快速搜索,mentable被填满时,数据会刷到sstfile文件存储起来
- 官方文档:https://rocksdb.org.cn