我正在實施一個高流量的客戶端Web應用程序,該應用程序使用大量REST API作爲雲數據庫的數據訪問層。我說客戶端是因爲它實現了REST而不提供它。架構問題:客戶端REST API的緩存解決方案
REST API在服務器端和客戶端都得到實現,我需要弄清楚緩存的一個好的解決方案。該應用程序正在Web農場運行,所以我傾向於像memcached這樣的分佈式緩存。這個緩存解決方案將需要像我的應用程序和REST API之間的代理層,並支持客戶端和服務器端。
例如,如果我打電話更新記錄,我會通過REST進行更新,並且希望在緩存中保留更新記錄,以便下次調用該記錄時不需要額外調用外部REST服務。
我想盡可能減少REST調用,並且需要儘可能保持數據的準確性,但它並不需要100%準確。
這個緩存代理的最佳解決方案是什麼?它是一個獨立的應用程序,可以在具有本地緩存的服務器上運行,也可以使用分佈式緩存構建到當前的解決方案中?你有什麼想法,建議或疑問
謝謝
感謝您的輸入,該圖層如何在JavaScript中的瀏覽器中消費客戶端大小? – Sergey 2009-08-18 00:03:43
通常,您可以將Web服務從您的應用程序公開到您的應用程序。 Web服務將成爲服務層的表示層。 jquery-> web服務(返回json) - >服務層 - >緩存 - >存儲庫 - >等... – 2009-08-18 06:18:15
謝謝安德魯。這絕對是很多工作,因爲我必須抽象所有REST API與我的圖層...但我沒有看到任何其他方式 – Sergey 2009-08-18 17:50:40