我正在使用嵌入式Infinispan 10.1.8,并且在INVALIDATION_SYNC模式下有一个集群缓存。缓存由另一个数据存储支持,该数据存储很少被更新,这就是它处于这种模式的原因。
当服务器离开集群时,InfinisPan会记录如下消息:
[Context=<cache name>] ISPN000312: Lost data because of graceful leaver <address>该服务器上缓存中的任何内容都会从内存中丢失,但由于它是一个失效缓存,我不明白为什么这将是一个警告。
这个警告是没有必要的,还是我误解了这个缓存的工作方式?
发布于 2021-02-07 01:45:06
我认为在失效模式下的警告只有在您以一种没有意义的方式使用该模式时才有意义。
这种缓存模式只有在您有另一个永久存储数据(如数据库)的情况下才有意义,并且只在读取量大的系统中使用Infinispan作为优化,以防止每次读取时访问数据库。
来源:https://infinispan.org/docs/dev/titles/configuring/configuring.html#invalidation-configuring
当您拥有这样一个永久存储时,您实际上只是在缓存的状态中松散了有关“丢失”但易于恢复的部分的信息。
当缓存段不再由任何节点支持时,总是会记录警告:https://github.com/infinispan/infinispan/blob/10.1.8.Final/core/src/main/java/org/infinispan/partitionhandling/impl/PreferAvailabilityStrategy.java#L54 https://github.com/infinispan/infinispan/blob/10.1.8.Final/core/src/main/java/org/infinispan/topology/ClusterTopologyManagerImpl.java#L785
当您使用没有永久存储支持的复制缓存时,您确实会丢失数据。我想不出在无效模式下警告是有意义的。我认为在这种情况下,警告应该取消,因为它是恼人的。
https://stackoverflow.com/questions/63185721
复制相似问题