重磅,腾讯开源分布式存储系统!
共 1896字,需浏览 4分钟
·
2021-06-15 21:33
Tendis存储版
是腾讯互娱CROS DBA团队 & 腾讯云数据库团队 自主设计和研发的开源分布式高性能KV存储。完全兼容redis协议,并使用rocksdb作为存储引擎。用户可以通过redis client访问Tendis存储版
,几乎不用修改代码。同时,Tendis存储版
支持远超内存的磁盘容量,可以大大降低用户的存储成本。
类似于Redis Cluster
, Tendis存储版
使用去中心化的集群管理架构。数据节点之间通过gossip协议通讯,用户访问集群中的任意数据节,请求都能路由到正确的节点。并且集群节点支持自动发现、故障探测、自动故障切换、数据搬迁等能力,极大降低运维成本。
特性
Redis兼容性
完全兼容redis协议,支持绝大多数redis的指令
持久化存储
使用rocksdb作为存储引擎,所有数据以特定格式存储在rocksdb中,最大支持PB级存储
类似于redis cluster的分布式实现,所有节点通过gossip协议通讯,可指定hashtag来控制数据分布和访问,使用和运维成本极低。
集群支持增删节点,并且数据可以按照slot在任意两节点之间迁移,扩容和缩容过程中对应用运维人员透明,支持扩展至1000个节点。
自动检测故障节点,当故障发生,slave会提升为master继续对外服务。
redis冷热混合存储关键组件
得益于 Tendis存储版
的设计和内部优化,Redis
和Tendis存储版
可以一起工作成为Tendis冷热混合存储
。混合存储区非常适用于KV存储场景,并平衡了性能和成本。对于redis,占用大量存储空间的冷数据降冷后可以最多减少80%的成本,同时保证热数据在redis的访问性能。
Tendis 冷热混合存储版整体架构
Tendis 冷热混合存储版主要由 Proxy 、缓存层 Redis、 存储层 Tendis 存储版 和 同步层 Redis-sync 组成, 其中每个组件的功能如下:
Proxy 组件: 负责对客户端请求进行路由分发,将不同的 Key 的命令分发到正确的分片,同时 Proxy 还负责了部分监控数据的采集,以及高危命令在线禁用等功能。
同步层 Redis-sync: 1) 并行数据导入 存储层 Tendis
; 2) 服务无状态, 故障重新拉起; 3) 数据自动路由。
缓存层 Redis Cluster
和存储层 Tendis Cluster
分别进行扩缩容, 集群自治管理等。冷数据自动降冷, 降低内存成本; 热数据自动缓存, 降低访问延迟
项目地址
开源地址:https://github.com/Tencent/Tendis
5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...