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