2015-08-30 78 views
2

我使用jedis(redis支持AWS Elastic緩存)將Redis集成到我的spring web應用程序。單節點可以使用單個jedis連接工廠編寫和讀取。aws從spring使用jedis客戶端的redis集羣

我現在需要將它擴展到集羣,以便寫入主節點並從輔助節點讀取。也就是說,如果出現故障,則複製將由AWS自動進行,在這種情況下,我將連接的主機名將會更改。

如何讀取出現在圖片中的新節點?

我怎樣才能連接到這個從春季容器(我的意思是XML文件)?

請任何人提出有用的建議,以達到以上場景。

我將不勝感激任何鏈接或代碼,可能有助於超過上述問題。

截至目前,我正在使用一個連接工廠,使用jedis和redis模板進行操作。

+0

嗨,你可以分享在春季啓動這樣的代碼?對我來說,仍然連接拒絕在AWS的Redis – user2670818

回答

0

當任何節點發生故障時,一切都在發生,沒有任何來自您身邊的干預。您也不需要爲此故障轉移編寫任何代碼。您只需使用Redis Elasticache羣集的DNS名稱,而不是IP。
例如,假設您有1個主站和2個從站。當主站關閉時,一個新的從站將被自動選爲主站,AWS會將主站的DNS更改爲指向成爲新主站的從站IP。它還會啓動一個新的從站,替換轉換爲主站的新從站,並更新從站的DNS記錄以指向新的IP地址。所以你不需要擔心任何事情,因爲主機名保持不變,只有它們後面的IP會改變。在這裏,您可以找到更多有關發動機罩背後發生的事情的詳細信息:Auto Failover for Amazon ElastiCache for Redis

+0

嗨感謝您的快速回復,所以現在我怎麼可以連接Aws集羣,因爲我有多個端點現在我去多個連接工廠是TI好或任何其他方式來連接集羣 – Balaji

+0

你只能連接到主端點,所以它會得到所有的讀寫請求。如果你想也使用奴隸讀取請求我認爲你需要使用多個連接字符串的jedis池:https://github.com/xetorthio/jedis/wiki/Getting-started –

+0

嗨,你能解釋我怎麼做在多個端點(AWS)的Spring jedis池配置中,或者具有多個連接的任何循環robbin。 – Balaji

3

您不必爲此做任何事情,AWS ElastiCache將處理故障轉移。

您有一個包含兩個節點(主節點和副本節點)的redis羣集。如果主節點發生故障,則會自動故障切換到副本節點。 故障轉移發生在複製組節點的DNS級別

直接

您可以複製它是你的應用程序連接到複製組節點而不是主節點的URL/IP很重要組端點 ElastiCache - >複製組 - >(選擇複製組),並在底部有 節點組詳細 主要終點 例如myReplicationGroup.8asdas.ng.0001.use1.cache.amazonaws.com:6379

在故障轉移的情況下會有一點停機。根據我的經驗,這不到1分鐘。

出現故障的節點後回來,它可能成爲第二個節點,並留樣,如果你有多重AZ啓用