日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【闲聊杂谈】Redis中的CAP理论

發布時間:2023/12/14 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【闲聊杂谈】Redis中的CAP理论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CAP原則又稱CAP定理,指的是在一個分布式系統中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區容錯性),三者不可得兼。

我們先來區分一下“主備”和“主從”的分別:

主備:客戶端只能訪問主機,不會訪問備機,備機存在的意義就是等主機掛掉以后接替主機;

主從:客戶端既可以訪問主機,也可以訪問從機。

其實在Redis中,既可以使用主備模式,也可以使用主從模式,一般企業中使用主從的比較多。

無論是主備還是主從,一般主機都是包含全量的增刪改查, 那么這個主自己又是一個單點,所以一般都會對主做HA,也就是高可用。?

再強調一遍,高可用不是為了讓主機不出現問題,而是當主機出現問題的時候,集群中會有另外一個去替換主,對外來就好像主是永遠不出問題一樣。那么這個過程其實可以讓人工手動去切換,將備機切換成主機。但人工是這個世界上最不靠譜的,所以需要使用一些程序來解決這個自動的故障轉移。

但是這個程序自己本身也會存在單點故障的問題,所以這個監控的程序也應該是個一變多的集群,假設現在有3個監控去監控一個Redis主機的時候,每個監控給出自己的判斷,就會產生一個很經典的網絡分區問題,也就是我們經常說的腦裂。A監控說掛了,B監控說沒掛,那到底是掛了還是沒掛?

所以,必然不能以每一臺的結果作為判定標準,但也不能以所有監控的結果作為判定,因為統計所有的那么必然就是強一致性,強一致性會破壞可用性,只要有一個連接有問題,就會導致整個監控的結果不可用。所以需要設定一個數,到底判定幾臺的結果比較合理?假設一共有n臺監控:

n % 2 == 0 ? n /2 +1 : (n + 1) / 2(一般在企業中將n取奇數臺)

CAP原則的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。而由于網絡硬件肯定會出現延遲丟包等問題,所以分區容錯性是我們必須需要實現的。所以我們只能在一致性和可用性之間進行權衡。

總結

以上是生活随笔為你收集整理的【闲聊杂谈】Redis中的CAP理论的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。