新聞中心
高可用(High Avlability, HA)是確保系統(tǒng)中止出現故障或宕機的情況下,依然能夠持續(xù)正常工作的能力。 在Redis的高可用方案中,有很多可用的方案,而拼接集群,(cluster-based HA)是其中一種。

拼接集群的概念有點像是將多個Redis節(jié)點綁定在一起,形成一個主從的拓樸式結構,由從節(jié)點以及多個從節(jié)點從根節(jié)點復制數據,當任何一個節(jié)點發(fā)生故障時,另外一個從節(jié)點會通過復制來進行替補。 同時,如果主節(jié)點宕機,從節(jié)點可以自動進行晉升,以確保正常的服務。
從理論上講,拼接集群的靈活性沒有其它的方案強,它可以支持多節(jié)點同時運行,提高可靠性。 并且,拼接集群可以實現動態(tài)數據失效,和動態(tài)故障處理,使得實現高可用。
另外一個熱門的Redis高可用可用方案是Sentinel方案,它也稱為哨兵方案(Sentinel-based HA)。 在Sentinel方案中,哨兵是一組節(jié)點,它們會監(jiān)測Redis節(jié)點的存活情況,并在發(fā)現節(jié)點宕機時,自動將宕機的節(jié)點替換成另外一個可用節(jié)點,從而實現高可用的功能。
Sentinel的優(yōu)勢在于它的實現容易,對失敗的Redis節(jié)點,它可以監(jiān)測并迅速進行替換,從而實現容災,平滑遷移。 其他優(yōu)勢在于它可以實時監(jiān)測和修改Redis配置,以及可以實現多種Redis客戶端備用切換等功能。
從性能上看,拼接集群和Sentinel都是可用的。 拼接集群的性能更高,因為它可以實現對失敗節(jié)點的動態(tài)故障處理和動態(tài)數據恢復,但這樣需要花費更多的時間。 而Sentinel的性能在一定程度上也受到Redis的性能的影響。
拼接集群和Sentinel在實現Redis高可用方面,都有其優(yōu)缺點,從而使得它們各自有利于不同的應用場景,兩者可以根據應用場景進行深入比較,找到最適合的Redis高可用方案。
“`java
// RedisCLuster HA
Configuration clusterConfiguration = new Configuration();
clusterConfiguration.useReplication();
clusterConfiguration.addNodeAddress(“127.0.0.1:7000”, “127.0.0.1:7001”);
RedissonClient redisson = Redisson.create(clusterConfiguration);
// Sentinel HA
Config config = new Config();
config.useSentinelServers()
.addSentinelAddress(“127.0.0.1:26379”, “127.0.0.1:26380”)
.setMasterName(“mymaster”);
RedissonClient redisson = Redisson.create(config);
成都創(chuàng)新互聯建站主營:成都網站建設、網站維護、網站改版的網站建設公司,提供成都網站制作、成都網站建設、成都網站推廣、成都網站優(yōu)化seo、響應式移動網站開發(fā)制作等網站服務。
本文題目:深入比較Redis高可用方案極致之拼(redis高可用方案比較)
網站網址:http://m.5511xx.com/article/dpgdhps.html


咨詢
建站咨詢
