Amazon-Ec2
有一個集中的更好嗎讀__我是r和d一世sredis記憶體實例還是每個實例?
我在 AWS 中有一個包含公共子網和私有子網的 VPC。在私有子網中,我有兩個負載平衡的 EC2 應用程序伺服器和一個 EC2 數據庫/記憶體伺服器。
兩個應用伺服器連接到數據庫/記憶體伺服器以進行數據庫查詢,但數據庫伺服器上還執行著一個 Redis 實例。兩個應用伺服器都配置為連接到這個 redis 實例。
我的問題是 - 這是高性能的嗎?在每個 App 伺服器節點上安裝一個 Redis 實例會更好嗎?
還是我們最好將 redis 留在數據庫/記憶體伺服器上?
這將取決於您的使用情況,但缺乏其他資訊,我會說最好使用集中式記憶體。
添加條目和記憶體命中
如果您有一個集中式記憶體,那麼添加到記憶體中將使所有 EC2 實例受益。
但是,如果您有單獨的記憶體,那麼添加到記憶體中只會使 EC2 實例受益。
範例:假設從 EC2 實例 1 執行數據庫查詢,然後由 EC2 實例 2 執行相同的查詢。
對於集中式記憶體,查詢 2 將是記憶體命中,而對於單獨的記憶體,兩者都將是記憶體未命中。添加更多 EC2 實例會增加記憶體未命中率。
記憶體失效
使用單獨的記憶體,您不能使記憶體中的條目無效,因為它只會影響本地記憶體。其他記憶體仍將包含陳舊/無效數據。
結論
使用集中式記憶體。