2012-10-29 78 views
1

我已經實現了實例mem-caches,因爲我們擁有非常靜態的數據,並且與實例緩存相比,memcache不是非常可靠且速度相當慢。如何以編程方式查找谷歌應用程序實例

但是,在某些情況下,我想使實例緩存無效。有什麼方法可以查看它們嗎?

示例 管理員A更新實例A上的大型遊戲紙,該實例查找所有其他實例並使用簡單的REST API更新數據。

+0

你是如何創建實例的memcache,你可以分享一些代碼? –

+0

1)靜態哈希表(key,value)2)來自數據存儲/ memcache的所有加載將值添加到實例高速緩存3)熱身servlet將數據加載到實例高速緩存4)所有它的好包裝 – Middy

+0

您是否試圖查找哪些實例跑步還是你在哪個實例? – bossylobster

回答

1

TL; DR:你不能。

backends不同,前端實例不是單獨尋址的;也就是說,您無法對特定的前端實例進行RESTY URLFetch調用。即使它們是,也沒有用於枚舉前端實例的內建機制,因此您需要自行推出,例如,在數據存儲中保留活動實例的列表,並在熱身請求中添加活動實例,並在重複連接失敗時刪除活動實例。但是在那個時候,你剛剛實現了一個更慢,更昂貴,可用性更低的memcache服務。

如果您將所有緩存服務移動到後端(使用您的實例本地靜態,或例如,運行memcached written in Go作爲不同的應用程序版本),這是真的,您將獲得一定程度的控制(或至少透明)關於驅逐。可用性,速度和成本仍然可能受損。

+0

實際上保留我自己的列表是可行的,因爲我只需要在數據存儲更新時(非常非常少)清除它。但是,更好的解決方案是在我的實例緩存上創建超時。 – Middy

相關問題