失效链接处理 |
Squirrel技术分享 PDF 下载
本站整理下载:
相关截图:
![]()
主要内容:
二 Redis Cluster
• Remote Dictionary Server
一个支持丰富数据结构的全内存Key-Value存储系统
• 数据结构
String、Hash、 List、 Set、 SortedSet 等 • 设计目标
高性能、高可用、可扩展
2.1 Redis Cluster
• 分布式
无中心节点
节点间Gossip协议通信
• 多副本
分片主从全量备份
2.2 Redis Cluster – 高可用特性
• 主从模式——数据多副本
• 部分节点失效不影响整个集群
• 集群自动检测fail节点
• 主节点故障后自动的主从切换
• 可扩展上千节点
2.3 Redis Cluster -- 数据路由
• 预分片(一致性哈希)
16384个哈希槽
每个分片负责一部分哈希槽
HASH_SLOT = CRC16(key) mod 16384
• 扩展性
通过增加分片提高集群的写能力以及容量
2.4 Redis Cluster – 主从数据备份
• 主从复制
命令传播方式
异步复制——最终一致性
从节点只读
• 扩展性
通过增加Slave节点来提高查询能力
2.5 Redis Cluster – 持久化
• RDB
1 保存和还原Redis 服务器所有的键值对数据
2 save 900 30
• AOF
1 appendfsync (always、everysec、no) 2 aof-rewrite
2.6 Redis Cluster – 数据结构
Redis
Java
String
Object
List
List
Set
HashSet
SortedSet
TreeSet
Hash
HashMap
三 Squirrel技术内幕
• 整体架构
• 技术细节
• 最佳实践
3.1 整体架构
3.2 技术细节
• StoreKey
• 可用性保障
• 数据无损扩容
3.2 StoreKey
• 概念 : Key = new StoreKey(Category, params)
Category:抽象的,类似于数据库中的table
IndexTemplate:模板参数 , 例如 c{0}d{1} 。类似于primary key
Key : category.c+param0+d+param1+_version
• 意义
规范化:程序封装,key的格式统一
优化管理:所有业务访问、运维操作、权限分配都基于Category
缓存清理:version+1
|