Cloud
Memcached 伺服器:將兩個伺服器 url 指向同一個伺服器是一個好習慣嗎?
我有一個系統,其中有從幾個不同的文件和伺服器到 memcache 伺服器的連接。
我想留在一台伺服器上,但保留增加記憶體記憶體伺服器數量的選項(在高流量期間)。
我的想法是告訴 memcache 有兩台伺服器,而這兩個 url 將(通過 DNS)指向一個伺服器。將來,如果我願意,我可以添加伺服器並更改 DNS,而無需在許多地方更改程式碼。
這是一個好習慣嗎?有兩個伺服器連接但它們都指向同一個伺服器這一事實是否會降低性能?
任何其他想法如何在無需更改程式碼和部署的情況下實現 memcache 容量的即時可擴展性?
這取決於您使用的 memcached 客戶端以及它如何確定跨多個伺服器散列鍵。您不應該期望通過指定兩台伺服器而不是一台來獲得更高的性能,因為單個 memcached 伺服器將提供比您的單個 Web 伺服器可以處理的更多連接(很可能)。事實上,讓客戶端嘗試在兩個不同的伺服器(實際上是相同的)上散列密鑰可能弊大於利。
如果您不想再次部署,那麼我會將您的伺服器列在伺服器上作為配置選項拉入的 ENVIRONMENT 變數中。例如,ENV
$$ ‘MEMCACHE_SERVERS’ $$並且只需在伺服器端配置它而無需再次部署。 memcache 的美妙之處在於它並不意味著冗餘或故障轉移,它不是持久儲存。它甚至可能完全當機,而您的站點只會有 0% 的記憶體命中率,但至少它仍在執行。