新聞中心
分布式部署那些事
作者:夢回故里歸來 2021-07-09 05:49:53
開發(fā)
前端
分布式 提到分布式,一定就會涉及到集中式,相比于集中式,分布式說明存在很多個節(jié)點,各個節(jié)點彼此協(xié)同工作。

10余年的張北網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整張北建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“張北網(wǎng)站設計”,“張北網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
什么是分布式
提到分布式,一定就會涉及到集中式,相比于集中式,分布式說明存在很多個節(jié)點,各個節(jié)點彼此協(xié)同工作。
從分布式的概念可以看出,分布式強調(diào)彼此的協(xié)同,每個節(jié)點負責部分工作,比如我們的一個商城系統(tǒng),可以分成訂單系統(tǒng),用戶系統(tǒng),短信系統(tǒng),支付系統(tǒng)等等。從外部來看他們是一個整體,提供一個商城的完整功能。
為什么會出現(xiàn)分布式
集中式的部署很方便,而且不會有節(jié)點網(wǎng)絡問題,不會出現(xiàn)不統(tǒng)一的問題,不會出現(xiàn)可用性等問題,雖然集中式有各種各樣的優(yōu)點,但是面對高并發(fā)的時候,面對更大數(shù)據(jù)請求的時候,顯然單個節(jié)點無法滿足要求,這個時候就需要將請求分配到不同的機器節(jié)點上,這樣才能讓請求得到正確響應。
代碼如何編寫
不同于我們寫的集中式編碼方式,在涉及到分布式的時候,我們需要考慮session的共享問題,對于session的共享問題,我們一般通過redis來進行數(shù)據(jù)的共享。
對于同一個用戶的請求,如果被分配到不同的機器上可能會導致數(shù)據(jù)的不一致問題,這個時候我們需要考慮讓同一個用戶的請求被同一個節(jié)點機器處理,這就需要考慮對用戶的ip做hash處理,讓同一個ip被相同的機器處理。
對于文件的存儲我們也需要進行處理,我們不能將文件保存到各個機器上,我們應該做的是找一個單獨的文件服務器進行文件的存儲管理,不過一般我們都是采用云對象存儲,這樣所有的靜態(tài)資源請求都會由單獨的云存儲進行管理,可以進行cdn緩存,大大提高了服務器的負載。
分布式鎖
對于在一個主機上的資源并發(fā)訪問,我們可以通過加鎖來解決,但是對于分布式機器上的資源,如果有并發(fā)請求的話,我們就需要使用分布式鎖來進行處理。
對于分布式鎖有很多種解決方案,主要是數(shù)據(jù)庫mysql,分布式調(diào)度zooker,內(nèi)存數(shù)據(jù)庫redis等。
很多情況下,我們都是采用redlock進行分布式鎖的處理。
分布式算法
提到分布式,離不開的問題就是一致性問題,為了保證數(shù)據(jù)的一致性,我們就需要通過一定的算法來實現(xiàn),而常用的分布式一致性算法Paxos、Raft。
總結
分布式和我們平時開發(fā)集中式的業(yè)務有著本質(zhì)上的區(qū)別,原本不會產(chǎn)生問題的地方,因為網(wǎng)絡或者其它原因都會產(chǎn)生問題,我們能夠做的就是充分考慮到可能出現(xiàn)的問題,學習別人已經(jīng)總結出來的算法和架構,這樣在遇到問題的時候才能有的放矢。
本文標題:分布式部署那些事
URL分享:http://m.5511xx.com/article/cdiogjc.html


咨詢
建站咨詢
