自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分布式部署那些事

開發(fā) 前端 分布式
提到分布式,一定就會(huì)涉及到集中式,相比于集中式,分布式說(shuō)明存在很多個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)彼此協(xié)同工作。

什么是分布式

提到分布式,一定就會(huì)涉及到集中式,相比于集中式,分布式說(shuō)明存在很多個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)彼此協(xié)同工作。

從分布式的概念可以看出,分布式強(qiáng)調(diào)彼此的協(xié)同,每個(gè)節(jié)點(diǎn)負(fù)責(zé)部分工作,比如我們的一個(gè)商城系統(tǒng),可以分成訂單系統(tǒng),用戶系統(tǒng),短信系統(tǒng),支付系統(tǒng)等等。從外部來(lái)看他們是一個(gè)整體,提供一個(gè)商城的完整功能。

為什么會(huì)出現(xiàn)分布式

集中式的部署很方便,而且不會(huì)有節(jié)點(diǎn)網(wǎng)絡(luò)問(wèn)題,不會(huì)出現(xiàn)不統(tǒng)一的問(wèn)題,不會(huì)出現(xiàn)可用性等問(wèn)題,雖然集中式有各種各樣的優(yōu)點(diǎn),但是面對(duì)高并發(fā)的時(shí)候,面對(duì)更大數(shù)據(jù)請(qǐng)求的時(shí)候,顯然單個(gè)節(jié)點(diǎn)無(wú)法滿足要求,這個(gè)時(shí)候就需要將請(qǐng)求分配到不同的機(jī)器節(jié)點(diǎn)上,這樣才能讓請(qǐng)求得到正確響應(yīng)。

代碼如何編寫

不同于我們寫的集中式編碼方式,在涉及到分布式的時(shí)候,我們需要考慮session的共享問(wèn)題,對(duì)于session的共享問(wèn)題,我們一般通過(guò)redis來(lái)進(jìn)行數(shù)據(jù)的共享。

對(duì)于同一個(gè)用戶的請(qǐng)求,如果被分配到不同的機(jī)器上可能會(huì)導(dǎo)致數(shù)據(jù)的不一致問(wèn)題,這個(gè)時(shí)候我們需要考慮讓同一個(gè)用戶的請(qǐng)求被同一個(gè)節(jié)點(diǎn)機(jī)器處理,這就需要考慮對(duì)用戶的ip做hash處理,讓同一個(gè)ip被相同的機(jī)器處理。

對(duì)于文件的存儲(chǔ)我們也需要進(jìn)行處理,我們不能將文件保存到各個(gè)機(jī)器上,我們應(yīng)該做的是找一個(gè)單獨(dú)的文件服務(wù)器進(jìn)行文件的存儲(chǔ)管理,不過(guò)一般我們都是采用云對(duì)象存儲(chǔ),這樣所有的靜態(tài)資源請(qǐng)求都會(huì)由單獨(dú)的云存儲(chǔ)進(jìn)行管理,可以進(jìn)行cdn緩存,大大提高了服務(wù)器的負(fù)載。

分布式鎖

對(duì)于在一個(gè)主機(jī)上的資源并發(fā)訪問(wèn),我們可以通過(guò)加鎖來(lái)解決,但是對(duì)于分布式機(jī)器上的資源,如果有并發(fā)請(qǐng)求的話,我們就需要使用分布式鎖來(lái)進(jìn)行處理。

對(duì)于分布式鎖有很多種解決方案,主要是數(shù)據(jù)庫(kù)mysql,分布式調(diào)度zooker,內(nèi)存數(shù)據(jù)庫(kù)redis等。

很多情況下,我們都是采用redlock進(jìn)行分布式鎖的處理。

分布式算法

提到分布式,離不開的問(wèn)題就是一致性問(wèn)題,為了保證數(shù)據(jù)的一致性,我們就需要通過(guò)一定的算法來(lái)實(shí)現(xiàn),而常用的分布式一致性算法Paxos、Raft。

總結(jié)

分布式和我們平時(shí)開發(fā)集中式的業(yè)務(wù)有著本質(zhì)上的區(qū)別,原本不會(huì)產(chǎn)生問(wèn)題的地方,因?yàn)榫W(wǎng)絡(luò)或者其它原因都會(huì)產(chǎn)生問(wèn)題,我們能夠做的就是充分考慮到可能出現(xiàn)的問(wèn)題,學(xué)習(xí)別人已經(jīng)總結(jié)出來(lái)的算法和架構(gòu),這樣在遇到問(wèn)題的時(shí)候才能有的放矢。

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2014-07-22 10:42:04

2013-06-13 11:29:14

分布式分布式緩存

2014-07-15 11:15:44

hadoop分布式部署

2020-09-08 13:25:52

HBase分布式數(shù)據(jù)庫(kù)

2017-05-10 08:59:18

分布式系統(tǒng)承載量

2011-04-01 14:28:58

zabbix應(yīng)用proxy

2013-02-01 14:23:22

vSphere

2022-01-17 09:18:28

JMeter分布式壓測(cè)

2015-11-10 17:45:00

分布式系統(tǒng)設(shè)計(jì)開源模塊

2021-12-09 10:45:19

分布式事務(wù)框架

2019-10-10 09:16:34

Zookeeper架構(gòu)分布式

2023-05-29 14:07:00

Zuul網(wǎng)關(guān)系統(tǒng)

2017-09-01 05:35:58

分布式計(jì)算存儲(chǔ)

2019-06-19 15:40:06

分布式鎖RedisJava

2018-04-11 08:54:16

Linux ARM存儲(chǔ)分布

2014-03-11 16:13:43

分布式NTP應(yīng)用方案

2009-12-21 13:47:29

WCF分布式事務(wù)

2020-07-03 13:29:08

Redis集群哈希槽

2017-10-27 08:40:44

分布式存儲(chǔ)剪枝系統(tǒng)

2023-10-26 18:10:43

分布式并行技術(shù)系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)