当选择合适的缓存实现与Terracotta集群时,我遇到了名为DistributedMap的单独的Terracotta集成模块,它提供了基本的缓存功能,例如支持不同的驱逐策略等。这个缓存实现似乎很容易配置,但是当它生产就绪的集群我发现我需要找到一些问题的答案: 1.以前有没有人使用过这个TIM,是否有人试图使用这个TIM?任何谬误? 2. DistributedMap易于配置,但下一个场景如何:如果我们启动2个Terracotta客户端并且每个客户端的DistributedMap配置不同,该怎么办?将Terracotta服务器更新现有配置,由client1提供或保持不变。
答案 0 :(得分:1)
我刚刚在生产中使用DistributedMap与客户交谈过。
至于配置 - 我相信配置包含在实例中。由于DistributedMap不包含共享状态与另一个实例重叠的任何根,因此每个实例将彼此分离(意味着您可以根据需要创建任意数量的独立DistributedMaps)。
请注意,在通过将DistributedMap添加到共享图表进行群集之前,DistributedMap不会真正进行群集。这可以通过将其添加到已经集群的POJO(您自己创建的,或者例如已经集群的HashMap)或将其标记为根(常见方法和docs建议的方法)来完成。