精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么

這篇文章主要講解了“數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么”吧!

目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、沈河網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

一:分布式系統(tǒng)設(shè)計(jì)策略

分布式系統(tǒng)本質(zhì)是通過(guò)低廉的硬件攢在一起以獲得更好的吞吐量、性能以及可用性等。

在分布式環(huán)境下,有幾個(gè)問(wèn)題是普遍關(guān)心的,我們稱(chēng)之為設(shè)計(jì)策略 :

  • 如何檢測(cè)當(dāng)前節(jié)點(diǎn)還活著?

  • 如何保障高可用?

  • 容錯(cuò)處理

  • 負(fù)載均衡

1.1:心跳檢測(cè)

為什么進(jìn)行心跳檢測(cè)?

在分布式環(huán)境中,存在非常多的節(jié)點(diǎn)(Node),由這些節(jié)點(diǎn)分擔(dān)任務(wù)的運(yùn)行、計(jì)算或程序邏 輯處理。那么就有一個(gè)非常重要的問(wèn)題,如何判斷一個(gè)節(jié)點(diǎn)是否出現(xiàn)了故障甚至無(wú)法工作了?

如何進(jìn)行心跳檢測(cè)?

心跳檢測(cè):以固定的頻率向其他節(jié)點(diǎn)匯報(bào)當(dāng)前節(jié)點(diǎn)狀態(tài),的一種檢測(cè)節(jié)點(diǎn)是否正常工作的方式。

數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么

若Server沒(méi)有收到Node3的心跳時(shí),Server認(rèn)為Node3失聯(lián)。但是失去聯(lián)系時(shí),并不確定是否是Node3故 障,有可能是Node3處于繁忙狀態(tài),導(dǎo)致調(diào)用檢測(cè)超時(shí);也有可能是Server與Node3之間鏈路出現(xiàn)故障或閃斷

所以心跳不是萬(wàn)能的,收到心跳可以確認(rèn)節(jié)點(diǎn)正常,但是收不到心跳也不能認(rèn)為該節(jié)點(diǎn)就已經(jīng)宣告“死亡”。 為了解決這種情況引入了:周期檢測(cè)心跳機(jī)制、累計(jì)失效檢測(cè)機(jī)制。

  1. 周期檢測(cè)心跳機(jī)制:Server端每間隔 t 秒向Node集群發(fā)起監(jiān)測(cè)請(qǐng)求,設(shè)定超時(shí)時(shí)間,如果超過(guò)超時(shí)時(shí)間,則判斷“死亡”。

  2. 累計(jì)失效檢測(cè)機(jī)制:在周期檢測(cè)心跳機(jī)制的基礎(chǔ)上,統(tǒng)計(jì)一定周期內(nèi)節(jié)點(diǎn)的返回情況(包括超時(shí)及正確返回),以此計(jì)算節(jié)點(diǎn)的“死亡”概率。另外,對(duì)于宣告“瀕臨死亡”的節(jié)點(diǎn)可以發(fā)起有限次數(shù)的重試,以作進(jìn)一步判斷。通過(guò)周期檢測(cè)心跳機(jī)制、累計(jì)失效檢測(cè)機(jī)制可以幫助判斷節(jié)點(diǎn)是否“死亡”,如果判斷“死亡”,可以把該節(jié)點(diǎn)踢出集群

1.2:高可用設(shè)計(jì)

高可用設(shè)計(jì):一個(gè)系統(tǒng)在長(zhǎng)時(shí)間內(nèi)能否對(duì)外提供可用的服務(wù)。

系統(tǒng)高可用性的常用設(shè)計(jì)模式包括三種:主備(Master-SLave)、互備(Active-Active)和集群(Cluster)模 式。

主備模式(使用較多)

主備模式就是Active-Standby模式,當(dāng)主機(jī)宕機(jī)時(shí),備機(jī)接管主機(jī)的一切工作,待主機(jī)恢復(fù)正常后,按使用者的設(shè)定以自動(dòng)(熱備)或手動(dòng)(冷備)方式將服務(wù)切換到主機(jī)上運(yùn)行。

以數(shù)據(jù)庫(kù)為例:在數(shù)據(jù)庫(kù)部分稱(chēng)之為MS模式。MS模式即Master/Slave模式,這在數(shù)據(jù)庫(kù)高可用性方案中比較常用,如MySQL、redis等就采用MS模式實(shí)現(xiàn)主從復(fù)制。保證高可用,如圖所示。

數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么

一臺(tái)MySQL數(shù)據(jù)庫(kù)一旦啟用二進(jìn)制日志后,作為master,它的數(shù)據(jù)庫(kù)中所有操作都會(huì)以“事件”的方式記錄在二進(jìn)制日志中,其他數(shù)據(jù)庫(kù)作為slave通過(guò)一個(gè)I/O線程與主服務(wù)器保持通信,并監(jiān)控master的二進(jìn)制日志文件的變化,如果發(fā)現(xiàn)master二進(jìn)制日志文件發(fā)生變化,則會(huì)把變化復(fù)制到自己的中繼日志中,然后slave的一個(gè)SQL線程會(huì)把相關(guān)的“事件”執(zhí)行到自己的數(shù)據(jù)庫(kù)中,以此實(shí)現(xiàn)從數(shù)據(jù)庫(kù)和主數(shù)據(jù)庫(kù)的一致性,也就實(shí)現(xiàn)了主從復(fù)制。

互備模式(使用較少)

互備模式指兩臺(tái)主機(jī)同時(shí)運(yùn)行各自的服務(wù)工作且相互監(jiān)測(cè)情況

在數(shù)據(jù)庫(kù)高可用部分,常見(jiàn)的互備是MM模式。MM模式即Multi-Master模式,指一個(gè)系統(tǒng)存在多個(gè)master,每個(gè)master都具有read-write能力,會(huì)根據(jù)時(shí)間戳或業(yè)務(wù)邏輯合并版本。

數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么

集群模式

集群模式是指有多個(gè)節(jié)點(diǎn)在運(yùn)行,同時(shí)可以通過(guò)主控節(jié)點(diǎn)分擔(dān)服務(wù)請(qǐng)求。如Zookeeper。集群模式需要解決主控節(jié)點(diǎn)本身的高可用問(wèn)題,一般采用主備模式。

1.3:容錯(cuò)性

容錯(cuò)性表示一個(gè)系統(tǒng)是否具有安全性、穩(wěn)定性、健壯性;對(duì)錯(cuò)誤的包容能力。

以緩存穿透為例:

數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么

在項(xiàng)目中使用緩存通常都是先檢查緩存中是否存在,如果存在直接返回緩存內(nèi)容,如果不存在就直接查詢數(shù)據(jù) 庫(kù)然后再緩存查詢結(jié)果返回。這個(gè)時(shí)候如果我們查詢的某一個(gè)數(shù)據(jù)在緩存中一直不存在,就會(huì)造成每一次請(qǐng)求都查詢DB,這樣緩存就失去了意義,在流量大時(shí),或者有人惡意攻擊就會(huì)有麻煩了。

一個(gè)比較巧妙的解決方法是,可以將這個(gè)不存在的key預(yù)先設(shè)定一個(gè)值。比如,key=“null”,寫(xiě)入緩存。即查詢這個(gè)key的時(shí)候直接返回null就行,但注意需要設(shè)置失效時(shí)間,否則數(shù)據(jù)存在時(shí)也返回null就不對(duì)了。

1.4:負(fù)載均衡

負(fù)載均衡:其關(guān)鍵在于使用多臺(tái)集群服務(wù)器共同分擔(dān)計(jì)算任務(wù),把網(wǎng)絡(luò)請(qǐng)求及計(jì)算分配到集群可用的不同服務(wù)器節(jié) 點(diǎn)上,從而達(dá)到高可用性及較好的用戶操作體驗(yàn)。

負(fù)載均衡分為:硬負(fù)載(硬件解決如:F5)、軟負(fù)載(軟件解決:LVS、HAProxy、Nginx)。

以Nginx為例,常見(jiàn)的負(fù)載均衡策略有:

  • 輪詢:根據(jù)Nginx配置文件中的順序,依次把客戶端的Web請(qǐng)求分發(fā)到不同的后端服務(wù)器。

  • 最少連接:當(dāng)前誰(shuí)連接最少,分發(fā)給誰(shuí)。

  • ip地址hash:確定相同IP請(qǐng)求可以轉(zhuǎn)發(fā)給同一個(gè)后端節(jié)點(diǎn)處理,以方便session保持。

  • 基于權(quán)重的負(fù)載均衡:配置Nginx把請(qǐng)求更多地分發(fā)到高配置的后端服務(wù)器上,把相對(duì)較少的請(qǐng)求分發(fā)到低配服務(wù)器。

感謝各位的閱讀,以上就是“數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


網(wǎng)站標(biāo)題:數(shù)據(jù)庫(kù)分布式系統(tǒng)設(shè)計(jì)策略是什么
文章路徑:http://m.jcarcd.cn/article/gghgci.html
主站蜘蛛池模板: 97视频免费观看 | 国产高清天天 | 午夜天天福利小视频 | 福利91| 日韩精品一区 | 欧美亚洲韩日国产 | 成人自拍偷拍视频 | 九色91视频国| 国产91福利导航 | 区不卡αv | 国产最新| 91精品在线二区 | 91工厂在线 | 99精品蜜臀蜜 | 国产疯狂女同互磨高 | 片完整片视频在线 | 欧美午夜小视频 | 91天堂97清纯小 | 国产极品精品免费 | 中文字幕制 | 精品国精品国产自 | 福利影院在线看 | 国产日韩一区二区高 | 精品绿帽视频 | 最新热门电视剧 | 欧美性爱一级a | 国语对白精品视 | 国产九九精品在线 | www色www| 区一区二区三 | 日韩性爱在线观看 | 日本高清无卡 | 国内自拍小视频 | 人操人碰| 国产91共享福利 | 国产尤物在线观 | 精品三级欧美中文 | 成人禁在线观看午 | 国产性爱不卡一区 | 午夜国产一级 | 欧美日韩专区 |