我們有很多具有緩存需求的Web服務和Web應用程序應用程序,所以我們試圖提出可以幫助所有團隊的緩存策略,而不管他們的技術選擇如何。我們已經使用Memcached(未複製)& Couchbase(多主設備)在每個服務器節點上本地運行,應用程序使用Memcached協議在本地連接到它們,但未來我們計劃使用通過REST API公開的集中式緩存集羣,可以使用所有在數據中心不同服務器節點上運行的應用程序。以下是思考過程背後的原因:將緩存作爲服務提供是個好主意嗎?
- 羣集易於維護,無需擔心應用服務器 節點。
- 單協議(HTTP)使用,而無需擔心 約底層實現訪問緩存。(我們可能會使用Redis的或Couchbase或 塞式集羣)
但我們不知道這個策略,因爲我們擔心關於由於HTTP造成的網絡開銷而導致的性能影響。
有沒有人試過這個策略?將緩存設置爲集中服務還是本地緩存最好?
大衛,你的意思是說,如果我溝通HTTP並使用他們的專有協議連接到遠程集羣,它會提供更好的性能? – ThinkFloyd
增加的性能不一定與正在使用的協議相關(儘管通常二進制協議(如Memcached)比基於文本的協議提供更小的開銷和更快的處理時間),而是因爲您正在消除中間人 - HTTP網關 - 通常運行在不同的進程中,並通過某種套接字/ IPC與實際的緩存進行通信。 –