1. 程式人生 > 其它 >【Azure Redis 快取】Redis Geo-replication(異地複製)的問題 

【Azure Redis 快取】Redis Geo-replication(異地複製)的問題 

問題描述

在Azure官網中,已列出了一系列的常規問題:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-geo-replication#geo-replication-faq

  1. 是否可以通過標準層或基本層快取使用異地複製?
  2. 在連結或取消連結過程中是否可以使用快取?
  3. 是否可以連結兩個以上的快取?
  4. 是否可以連結來自不同 Azure 訂閱的兩個快取?
  5. 是否可以連結不同大小的兩個快取?
  6. 是否可以在啟用群集時使用異地複製?
  7. 當快取位於 VNET 中時是否可以使用異地複製?
  8. 什麼是 Redis 異地複製的複製計劃?
  9. 異地複製需要多長時間?
  10. 複製恢復點是否受保證?
  11. 是否可以使用 PowerShell 或 Azure CLI管理異地複製?
  12. 跨 Azure 區域複製資料的費用是多少?
  13. 嘗試刪除連結快取時為何操作會失敗?
  14. 應為輔助連結快取選擇哪個區域?
  15. 輔助連結快取如何進行故障轉移?
  16. 能否為防火牆配置異地複製?

而面對具體的問題,如:兩個redis,一個北2(Primary),一個東2(Secondary),做Geo-replication(異地複製).

1. Geo-replication--->在選link as secondary時,對生產的Redis有影響嗎?比如生產Redis響應延遲,丟資料等

2.因為北2東2的Redis hostname不同,如果從東2應用連Redis時,是連東2的hostname連吧?還是說兩個link在一起的Redis,就會產生一個公共的hostname或FQDN,以後用這個連呢?

問題解答

1. Geo-replication在選link as secondary時,對生產的Redis有影響嗎?比如生產Redis響應延遲,丟資料等

【答】:

  • 連結時,主連結快取自始至終保持可用。
  • 連結時,在連結過程完成之前,輔助連結快取將不可用。
  • 取消連結時,這兩個快取自始至終保持可用。


2.因為北2東2的Redis hostname不同,如果從東2應用連Redis時,是連東2的hostname連吧?還是說兩個link在一起的Redis,就會產生一個公共的hostname或FQDN,以後用這個連呢?

【答】:

從東2 連線時用東2 的hostname,不會產生一個公共的hostname,因為一個是主例項一個是從例項,從例項是隻讀的,是不能向其寫入資料的。

異地複製的快取不支援跨 Azure 區域的自動故障轉移。 當主Redis發生故障時,需要人為介入進行故障轉移。 在Github中有類似的案例。詳情參考:

spring-boot-redisson-failover-parenthttps://github.com/sme-csu/spring-boot-redisson-failover-parent

redis-failover-pochttps://github.com/huqianghui/redis-failover-poc

參考資料

為高階 Azure Cache for Redis 例項配置異地複製https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-geo-replication#geo-replication-faq

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!