1
我們的網站最近分爲幾個較小的站點,然後分佈在不同的IDC中。推薦緩存更新策略
其中一個站點提供用戶認證和其他用戶相關服務,其他站點通過Web服務訪問它。
在每個遠程獲取數據的站點上,我們創建一個本地高速緩存,以便在每次需要用戶信息時都不需要遠程訪問。
你會推薦什麼樣的緩存更新策略來確保數據的完整性?
我們的網站最近分爲幾個較小的站點,然後分佈在不同的IDC中。推薦緩存更新策略
其中一個站點提供用戶認證和其他用戶相關服務,其他站點通過Web服務訪問它。
在每個遠程獲取數據的站點上,我們創建一個本地高速緩存,以便在每次需要用戶信息時都不需要遠程訪問。
你會推薦什麼樣的緩存更新策略來確保數據的完整性?
由於您需要更新策略接近實時,所以您肯定需要緩存失效通知引擎。
有它2種可能的實現模式:
1.Pull 主服務器拉孩子的服務器與像"resourceID=34392 not more valid in your cache"
通知消息。 此消息應在主服務器上的每個數據更新上發送。
"If-object-was-updated"
請求。正如你在這兩種情況下看,你的主服務器應該引起各數據變化的事件。 在第一種情況下,此事件將通過'通知總線'傳送給子服務器,而在第二種情況下,此事件將存儲在recently-updated-objects
列表中。 因此,這兩個選項都需要在主服務器上進行一些代碼更改。
對於我來說,第二個選項更容易實現,但它取決於您使用的軟件堆棧。
您是否需要實時數據完整性,或在實際數據發佈過程中出現延遲? – Vadim 2011-01-20 08:04:07
Thx答覆:)是的,至少它應該接近實時,因爲它是一個SNS應用程序,如果用戶在一個站點更新她的暱稱,應該儘快在另一個站點上進行更改站點。 – satoru 2011-01-20 08:06:42