我們擁有大量的tomcat服務器集羣,我試圖找到一種有效的方法來在所有這些集羣中共享一個計數。此計數是購買的「小部件」數量,需要在每個頁面視圖中進行檢查。任何服務器都可以完成銷售並增加計數,此時應將新值提供給所有羣集成員。擁有共享對象的Tomcat 6集羣
我們不希望使用數據庫中的計數,因爲整個羣集中的更新之間將存在許多頁面查看,並且對於每個頁面查看而言,對數據庫的get操作似乎沒有必要。
我們有一個廣泛的memcached集羣,我們可以在其中存儲值,在每個頁面視圖中獲取它,任何更新值的人都將新值設置爲集羣。由於每個頁面視圖都有一個緩存,這又浪費了。
我想要做的是在每臺服務器上有一個內存中的值,並且一個多播(或類似的機制)消息告訴所有服務器,他們只是增加了,新的數字是X.這似乎是效率最高,因爲只有在進行更新時纔會執行操作,而不是爲每個頁面視圖執行操作。
你是如何在你的應用程序中處理的?我是否過度思考這個......我們應該把它放在memcached中嗎?
謝謝!
+1對於「無論是浪費還是另一個海洋,只有測試會告訴你」 – 2010-02-03 02:53:02
那麼,無論你如何分割它,它都是浪費......測試將決定多麼浪費。 Memcached顯然是阻力最小的路徑,但我喜歡in-jvm緩存的想法。現在閱讀。 – Matt 2010-02-03 15:45:38
我們決定現在就走簡單的路線,並使用我們的memcached。我們將繼續研究in-jvm緩存產品,但爲了時間的利益,我們將繼續使用我們現在的產品。 – Matt 2010-02-03 18:47:44