更新時間:2022-05-31 08:44:11 來源:動力節(jié)點 瀏覽1516次
在Redis教程中,大家也應(yīng)該有所了解,Redis是一個開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲,用于構(gòu)建緩存和鍵值 NoSQL 數(shù)據(jù)庫。Redis Cluster 是 Redis 的一個特殊版本,有助于提高 Redis 數(shù)據(jù)庫的可擴展性和可用性。但是 Redis Cluster 到底是什么,Redis Cluster 和 Redis 有什么不同呢?
Redis Cluster是 Redis 的一種分布式實現(xiàn),它可以跨多個 Redis 節(jié)點自動對數(shù)據(jù)進行分片(即分區(qū))。
沒有人可以預(yù)測他們的 Redis 數(shù)據(jù)庫將消耗的確切資源量。這意味著能夠充分擴展 Redis 數(shù)據(jù)庫在高需求時期至關(guān)重要。可擴展性與可用性密切相關(guān),可用性是衡量用戶實際訪問數(shù)據(jù)庫能力的指標(biāo)。
Redis 集群有助于提高 Redis 數(shù)據(jù)庫的可擴展性、可用性和容錯性,超出 Redis 的基本版本。Redis 集群的特點包括:
可擴展性: Redis 集群可以橫向擴展至 1000 個節(jié)點的最大限制。
可用性: Redis 集群要繼續(xù)運行有兩個條件:大多數(shù)主節(jié)點必須可達,任何不可達的主節(jié)點必須有備用從節(jié)點。這是一項慷慨的政策,有助于提高 Redis 數(shù)據(jù)庫的可用性。
寫入安全: Redis 集群嘗試以寫入安全的方式運行:它將嘗試保留來自連接到集群中大多數(shù)主節(jié)點的任何客戶端的寫入。
Redis Cluster 通過對數(shù)據(jù)庫中的數(shù)據(jù)進行分片來工作。分片是一種數(shù)據(jù)庫分區(qū)方案,其中數(shù)據(jù)庫中的不同行(或者,在 Redis 的情況下,鍵值對)分布在多個節(jié)點上,因此每個節(jié)點都包含一部分數(shù)據(jù)。這意味著如果一個節(jié)點出現(xiàn)故障,只有一部分數(shù)據(jù)將不可用,這將允許許多數(shù)據(jù)庫請求正常進行。
Redis Cluster 中另一個重要的概念是主/從架構(gòu)。在這種模式中,一個節(jié)點被指定為“主節(jié)點”,它控制和協(xié)調(diào)集群中的其余節(jié)點(稱為“從節(jié)點”或“副本”)。
Redis Cluster可以使用主從復(fù)制,這樣集群中的每個master都有一個備份slave節(jié)點。如果其中一個主節(jié)點發(fā)生故障,則可以將相應(yīng)的從節(jié)點指定為新的主節(jié)點,而對整個集群的破壞很小。(但是,如果主節(jié)點和從節(jié)點都發(fā)生故障,則整個集群將無法繼續(xù)運行)。
請注意,盡管 Redis Cluster 嘗試提供高級別的寫入安全性,但它不能保證強一致性。這很大程度上是因為 Redis Cluster 使用異步復(fù)制。如果客戶端向主節(jié)點寫入某些內(nèi)容,然后在將寫入復(fù)制到其從節(jié)點之前崩潰,那么新的主節(jié)點(提升的從節(jié)點)將不知道此寫入。相反,Redis Cluster 試圖在高性能和一致性之間取得平衡。
通過上述介紹,相信大家對Redis集群已經(jīng)有所了解,大家如果想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容細致全面,通俗易懂,很適合小白學(xué)習(xí),希望對大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費 15天面授
有基礎(chǔ) 直達就業(yè)
業(yè)余時間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)
初級 202925
初級 203221
初級 202629
初級 203743