我正在使用一个客户端启动一个项目,其中一个中心部分是大型数据集的高性能缓存。目前,我正在研究各种开放源码软件项目,Infinispan看起来非常有趣。然而,我还没有找到一个良好的“体系结构”级别的概述,哪些缓存配置是可能的等等。我们的要求基本上是:
有人能提供一些指南,说明是否/如何用Infinispan归档这些东西,以及我在哪里可以阅读到如何创建一个多层组合库+分布式设置(是手动的资源,还是我也可以使用的其他更多的“体系结构”级资源)?
发布于 2022-02-08 09:45:01
分布式缓存可能与大多数需求(分布式缓存文档)匹配。
在分布式缓存中,数据被分区并存储在不同的节点中。读取时,如果节点是该键的所有者,则从本地内存(堆上或堆外)读取,否则它将对该键的所有者执行RPC操作。(因此,您的L3缓存)。
关于L2需求,它可以通过启用钝化的持久性存储(持久化存储文档)来实现。钝化将确保您的数据驻留在内存或磁盘中。只有当驱逐策略从内存(驱逐文件)中删除数据时,数据才会存储在磁盘中。
L1需求可以通过启用L1缓存((用于分布式缓存文档的L1缓存) )来部分实现。从远程节点读取数据时,数据存储在本地内存中。这个L1数据永远不会进入持久性存储,当驱逐需要释放一些空间或者数据由本地或远程节点更新时,它就会被删除。
另一种选择是复制缓存(复制缓存文档)。复制缓存在所有节点中保留完整数据集的副本。通过驱逐和持久性存储,它确保您的读取将在内存或磁盘中找到数据,并且不需要RPC来获取数据。缺点是写操作,它必须同步所有节点。
https://stackoverflow.com/questions/71006344
复制相似问题