【发布时间】:2012-06-14 17:56:28
【问题描述】:
开发云系统时着眼于可扩展性,这意味着系统沿功能边界(usermgmt、ordermgmt、customermgt 等)组合成基于 REST 的服务,每个服务都有自己的底层数据库,并且根据负载,我们可能会启动多个实例,比如 ordermgmt 服务。当 ordermgmt 服务处理添加订单的请求时(代表“客户”),它将对 customermgmt 服务进行 REST 调用以验证客户等...
由于客户实体不会经常更改,我想知道 ZooKeeper 之类的东西是否适合缓存特定客户的实例,customermgmt 服务的多个实例可能会在访问数据库之前对其进行询问。我查看了 Zookeeper 使用的各种列表,但没有看到有人将它用于对象缓存。似乎推荐的 znode 字节大小约为 1K,因此不适合存储脱水对象。也没有开箱即用的 GC 或 LRU 支持,所以我也需要添加它。
如果不是 Zookeeper,还有更合适的建议吗?我们使用 Hibernate 作为 ORM,但我们没有很多经验,虽然它支持 1 级和 2 级缓存,但我不确定它们是否以分布式/复制方式跨多个服务实例工作.
谢谢 斯科特
【问题讨论】:
标签: hibernate caching cloud distributed apache-zookeeper