先比较一下Hadoop。
Hadoop 架构:
Cache Pool 架构:
Cache Server和Hadoop的Data Node是相似的,Cache Manager和Name Node对应,不过也有很多差异:
http://www.bt285.cn http://www.5a520.cn
- Cache Pool要承受大并发访问,且每条数据都非常小,因此不可能再做一个Name Node来保存元数据,而是使用Consistent Hashing完成数据定位。
- Cache Pool数据量相对较小,一个集群几百GB左右,单台Cache Server只有4-16GB,迁移性能非常高,所以任何一个节点调整都会有1/N数据被迁移,容量约等于单台Server的容量。新增节点时迁移相对比较慢,有大量数据被从多个节点迁移到这个新节点上,迁移完成会并发删除旧服务器上的数据;删除节点则会引起多个节点间的并发数据迁移,迁移效率较高,同时可能会造成每台服务器上有约1/N数据被LRU淘汰。
- Cache Manager只是个管理器,它只完成节点监控、Cache Server划分、数据迁移控制、同步配置等功能,所有数据访问都与它无关。它是由多台服务器组成的高可用性小集群,使用简单决策过程产生Master,其它服务器只作备用。为避免网络、电源等问题的冲击,Cache Manager设置为只对同时一个Cache节点宕机有权利自动化迁移,多台同时宕机时,会发出报警,需要管理员人工控制迁移。