zookeeper做一级缓存测试
因公司项目需求,准备做一级缓存,然后就想到了zookeeper,都说它性能不错,特地做个测试看下是否可以用于生产。 封装完成使用gitee上的sync_cache项目进行测试。
测试前提
在服务器上搭建zookeeper集群,最少三个节点。使用sync-cache打包4个项目 分别对应全部节点、每个对应一个不同节点。每个项目都有节点监听和 api入口。
测试场景
- 使用主项目存储比较小的节点数据,测试其他项目的同步时间 测试结果: 主节点 使用1ms ;其他两个节点使用2ms
- 使用主项目存储不断循环变大的节点数据,测试其他项目的同步时间 测试结果: 15KB的数据 每个节点相差2ms 就是 主节点2ms follower1 是4ms follower2 是6ms。
结论
上述测试不一定完全符合zookeeper的性能,但是也能看出zookeeper不适合做大数据存储。大项目的时候,在消息同步这块就要垮掉,无法做到一致性(因为有半数机制存在,没有同步完,主节点就已经默认结束了)。 如果非要做一级缓存的话,zookeeper比较适合做热门数据的缓存,数量小的情景.