没有同步的 Aerospike 节点

Aerospike nodes without sync

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

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

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

我们只想使用没有集群支持的 aerospike。

要在 aerospike.conf 中关闭它吗?

这绝对有可能。在命名空间配置中,您将声明复制因子为 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 就会重置。