没有同步的 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 就会重置。
我们想部署 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 就会重置。