2015-01-13 25 views
3

我們想要部署aerospike作爲memcache的替代品。我們有兩臺服務器來部署它。沒有同步的Aerospike節點

對於緩存,我們不希望跨多個節點進行數據複製。在我們的體系結構中,每個節點上都有一個緩存。

現在,Aerospike的問題是無共享架構,它增加了兩個節點之間的同步。數據傳輸會在兩臺機器之間產生大量帶寬。由於我們使用的是1Gbps網絡,緩存空間大約爲4Gb,因此一旦緩存開始填滿,它就會佔用全部帶寬。

我們只是想在沒有集羣支持的情況下使用aerospike。

無論如何在aerospike.conf中關閉它?

回答

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。

+2

請注意,客戶端能夠有效地處理寫入操作,並且只與作爲記錄分區主節點的集羣節點通信。如果配置了複製,則寫入將同步到擁有副本分區的節點,然後向客戶端通知寫入成功。開銷可能低於您的預期,並且會形成更持久的羣集。雖然如果你純粹是爲了緩存,並且對於緩存很好,那麼沒問題。 –

+2

感謝您的快速恢復。我也執行了同樣的操作,但仍然看到帶寬在newrelic中增加。通過使用asmonitor,我認爲同步已停止,但數據仍然在私有IP上讀取。我們是否可以將其放在127.0.0.1上以避免任何網絡接口問題。在客戶端,我們將127.0.0.1讀取來自aerospike的數據。 – rahijain

+2

當您更改名稱空間配置時,您必須重新啓動。關於配置細節,請在論壇http://discuss.aerospike.com上發佈一個問題。有分配給所有主題的devOps,服務器和客戶工程師,您將得到快速響應。 –