2011-04-21 102 views
1

我們正在構建一個可以從Memcached等分佈式緩存機制中受益匪淺的系統。但是我無法將我的頭腦置於Memcached守護進程的配置和客戶在亞馬遜數據中心上互相找到對方。我們是否需要手動設置每個memcache實例的IP地址(它們不會專用,它們將運行在Web服務器或Worker Boxes上),還是有一種讓它們彼此交談的自動方式?我正在尋找微軟Windows服務器應用結構緩存,但它似乎需要一個文件共享或域才能正常工作,而我目前沒有......給出內部IP地址是亞馬遜上的瞬態,我想知道如何你解決這個問題...亞馬遜EC2 + Windows Server 2008 + Memcached =如何?

+0

因此,環顧其他一些東西,似乎DNS可能是一種解決方法。任何人用DNS試過Memcached?我們有一個外部DNS提供商(Zerigo),他們提供更新我們域名的API。在接下來的幾天裏對此進行調查。我開始錯誤的樹,還是這個工作? – TiernanO 2011-04-26 16:17:25

回答

1

我以前沒有設置memcached服務器的集羣,但是Membase是一個解決方案,可以消除所有使用memcached時遇到的痛苦。 Membase基本上是Memcached,下面有一個持久層,並附帶很棒的集羣管理軟件。將服務器聚類在一起非常簡單,因爲您只需告訴羣集新節點的IP地址是什麼。如果您已經有一個爲Memcached編寫的應用程序,它也將與Membase一起工作,因爲Membase使用Memcached協議。這可能值得一看。

+0

我喜歡這個MemBase的東西的外觀。感謝您的鏈接。似乎比MemcacheD更容易管理。 – TiernanO 2011-05-13 08:20:30

1

我相信你可以在EC2中爲每個包含你的memcached服務器的盒子創建一個彈性ip。這些彈性ips可以動態映射到任何EC2實例。然後你的memcached客戶端就像使用靜態ip地址一樣使用彈性ips。

http://alestic.com/2009/06/ec2-elastic-ip-internal

+0

我設法通過使用Zerigo的DNS服務來避免使用外部IP。我有一個在所有機器上運行並更新DNS記錄的Windows服務。所有機器都知道在尋找SQL Server,Solr等時要查找哪個DNS記錄。 – TiernanO 2011-05-13 08:17:50

0

正如你似乎已經發現,Route53通常用於這些發現的目的。但是,對於您的特定用例,我只會使用Amazon ElasticCache。亞馬遜擁有兼容memcached和redis的ElasticCache版本,他們爲您管理基礎架構,包括爲您提供DNS入口點。同樣爲了管理諸如asp.net會話狀態之類的東西,您可能會考慮DynamoDB會話狀態提供程序中的this文章。

一般經驗法則:如果你正在開發一個新的應用程序,然後嘗試利用雲提供的內容與構建它,它會讓你的生活方式更簡單。