3

我们想部署 aerospike 作为 memcache 的替代品。我们有两台服务器来部署它。

对于缓存,我们不希望跨多个节点进行数据复制。在我们的架构中,我们在每个节点上都有一个缓存。

现在 aerospike 的问题是它的无共享架构增加了两个节点之间的同步。数据传输导致两台机器之间的大量带宽。由于我们使用的是 1gbps 网络并且缓存空间约为 4Gb,因此一旦缓存开始填满,它确实会耗尽所有带宽。

我们只想在没有集群支持的情况下使用 aerospike。

无论如何要在 aerospike.conf 中将其关闭?

4

1 回答 1

5

这绝对是可能的。在命名空间配置中,您会声明复制因子为 1:

namespace cache {
    memory-size 4G
    storage-engine memory
    replication-factor 1
    high-water-memory-pct 80 # Evict non-zero TTL data if capacity exceeds 80%
    default-ttl 432000 # select a non-zero TTL that makes sense to your use-case
}

对于非零 TTL,数据的驱逐基于直方图发生,其结果类似于 Memcached LRU 驱逐。这个秒数是你需要估计的。请注意,只要将数据写入记录,就会重置 TTL。

于 2015-01-13T21:06:29.077 回答