现在在制作一个网站框架,可以在其基础上建立各种需求的社交型网站。正在尝试大家缓存部分,希望收集各位的聪明智慧,找到适合自己的缓存处理方法。以下是我初步提出的想法,由于是自己没有参考别的缓存方法制作的,有点肤浅,请谅解我的方法是使用zookeeper。理由有两点,首先是因为我们需要考虑分布式的环境,本来就需要使用zookeeper作为服务器状态同步的机制zookeeper解决了当前缓存存储的位置的问题问题在于,首先zookeeper是一个使用树状形式存储并基于发布与订阅的同步。这样的树状关系,对于数据的检索是一个复杂的问题。解决方法就需要建立很多索引表来完成一般意义的缓存数据检索。
1 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
1. local cache + zookeeper 的方案:
当某个节点本地缓存变化时,通过zk将变化的缓存key通知到其他节点,其他节点收到通知后,从缓存中删除该key 或者刷新该key对应的值。
好处是 本地缓存效率最高,通过zk保持多个实例的内容都是最新的(但不能保证缓存内容完全一致)
缺点是 使用场景有限,而且本地缓存的弊端是缓存容量被限制在单个实例上。
2. memcache + taobao文初实现的那个客户端, 解决memcache单点问题
添加回答
举报
0/150
提交
取消