作者:赵浩民奕君 | 来源:互联网 | 2023-05-27 04:47
我们想部署aerospike作为memcache的替代品.我们有两台服务器来部署它.
对于缓存,我们不希望跨多个节点进行数据复制.在我们的架构中,每个节点都有一个缓存.
现在关于aerospike的问题是它是无共享架构,它增加了两个节点之间的同步.数据传输导致两台机器之间的带宽很多.由于我们处于1gbps网络并且缓存空间大约为4Gb,因此一旦缓存开始填满,它就会耗尽所有带宽.
我们只想在没有集群支持的情况下使用aerospike.
无论如何要在aerospike.conf中将其关闭?
1> Ronen Botzer..:
这绝对是可能的.在命名空间配置中,您将声明复制因子为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.
谢谢你的意见.我读到某个地方绑定到localhost是不可能在aerospike上.感谢您的时间和意见.
请注意,客户端有效地处理写入,并且仅与作为记录分区的主节点的群集节点进行通信.如果配置了复制,则写入将同步到拥有副本分区的节点,然后会通知客户端写入成功.开销可能比您预期的要少,并且会产生更持久的集群.虽然如果你纯粹想要一个缓存,并且它很容易变化,那么没问题.
谢谢你快速恢复.我实现了相同的,但仍然看到新的带宽峰值.通过使用asmonitor,我认为同步已停止,但数据仍在私有IP上读取.我们不能把它放在127.0.0.1上以避免任何网络接口问题.在客户端我们将127.0.0.1用于读取来自aerospike的数据.
更改命名空间配置时,必须重新启动.有关配置细节,请在论坛http://discuss.aerospike.com上发布问题.有分配给所有主题的devOps,服务器和客户工程师,您将得到快速响应.