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