一、分布式系統架構設計三大原則
分布式系統是硬件或軟件組件分布在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統,對分布式系統的架(jia)構進(jin)行設計時,要注意(yi)三(san)大原則:
1、高可用設計
高(gao)可用HA(High Availability)是分布式系統(tong)架構設計(ji)中必須考慮的因素之一,它通(tong)(tong)常是指(zhi),通(tong)(tong)過(guo)設計(ji)減少系統(tong)不能提供服務的時(shi)間。通(tong)(tong)常會通(tong)(tong)過(guo)設計(ji)冗(rong)余 自(zi)動故障轉移來保證系統(tong)的高(gao)可用特性。
2、高并發設計
(1)有狀態設計:是指進程(cheng)在(zai)本地(di)內存(cun)或磁盤上(shang)存(cun)儲(chu)自己完成代碼邏輯(ji)需要(yao)(yao)的數(shu)據,并且(qie)進程(cheng)啟(qi)動(dong)時需要(yao)(yao)將數(shu)據加載到內存(cun)或要(yao)(yao)求數(shu)據文(wen)件在(zai)本地(di)磁盤上(shang)存(cun)在(zai)才能正常運行的服務(wu)。
(2)無狀態設(she)計(ji):對單次(ci)請求的處(chu)理,不依賴其他(ta)請求,也就是(shi)說(shuo),處(chu)理一次(ci)請求所(suo)需的全部信息(xi)(xi),要(yao)么都包含(han)在這(zhe)個請求里(li),要(yao)么可以從外部獲(huo)取到(dao)(比如(ru)說(shuo)數據庫),服(fu)務器(qi)本身不存(cun)(cun)儲任何信息(xi)(xi)。無狀態設(she)計(ji)的設(she)計(ji)如(ru)果涉及(ji)到(dao)要(yao)存(cun)(cun)儲信息(xi)(xi),有兩種(zhong)方式可以選擇:客戶(hu)端保存(cun)(cun)、服(fu)務端保存(cun)(cun)。
3、高性能設計
以用(yong)戶為(wei)中心,提(ti)供(gong)快(kuai)速的(de)網頁訪問體驗。主要參數(shu)有較(jiao)短的(de)響應時間、較(jiao)大(da)的(de)并發處理能(neng)力、較(jiao)高的(de)吞吐量(liang)與穩定的(de)性能(neng)參數(shu)。
二、分布式系統架構設計有哪些優化策略
分布式系統架構設計(ji)過程中,可以采用一(yi)些策略(lve)對其進行優(you)化,常(chang)見的優(you)化策略(lve)有:
1、數據分片
將數據按照特(te)定(ding)的(de)規則進行分(fen)片存儲,可以(yi)實(shi)現數據的(de)橫向擴展,提高系統的(de)性(xing)能和(he)可擴展性(xing)。數據分(fen)片可以(yi)基于哈希(xi)、范(fan)圍、一(yi)致性(xing)哈希(xi)等算法進行實(shi)現。
2、負載均衡
通過負載(zai)均(jun)衡策(ce)略,合理(li)地分配(pei)和調度(du)系統(tong)的請求,可以避免單(dan)個節(jie)點負載(zai)過重的問題,提高系統(tong)的性(xing)能(neng)和可靠(kao)性(xing)。負載(zai)均(jun)衡可以采用(yong)輪(lun)詢、隨機、最少連(lian)接等算法進(jin)行實現(xian)。
3、緩存機制
通過緩(huan)存機制,可以將系統(tong)經常訪(fang)問(wen)的數(shu)據緩(huan)存到內存中(zhong),減少對數(shu)據庫的訪(fang)問(wen),從而提高系統(tong)的性能和(he)吞(tun)吐(tu)量(liang)。緩(huan)存機制可以采用(yong)本地緩(huan)存、分布式緩(huan)存等方式進行實(shi)現。
4、異步處理
通過異步(bu)處(chu)理(li)機制(zhi),可(ke)(ke)以將某(mou)些(xie)復雜(za)的(de)操作異步(bu)化,解放主線程,提高系統的(de)并(bing)發性能和響應速(su)度。異步(bu)處(chu)理(li)可(ke)(ke)以采用消息(xi)隊列、事件驅動等方式進行實(shi)現。
5、分布式事務
通過分(fen)布(bu)式(shi)(shi)事(shi)務機制(zhi),可(ke)以(yi)保(bao)證多個節點(dian)之間的數據一致性和可(ke)靠性,從(cong)而提高系(xi)統的穩(wen)定性和可(ke)用性。分(fen)布(bu)式(shi)(shi)事(shi)務可(ke)以(yi)采用兩(liang)階段提交(2PC)、補(bu)償事(shi)務等方式(shi)(shi)進行實現。
6、容錯處理
通過容錯處理(li)機制,可(ke)以(yi)保證系統(tong)在發生故(gu)(gu)障(zhang)時(shi)能夠(gou)自動恢復(fu)和重(zhong)啟,從(cong)而提高系統(tong)的可(ke)用性和穩定性。容錯處理(li)可(ke)以(yi)采用備份、容器(qi)化、快速故(gu)(gu)障(zhang)轉移等方式(shi)進行實現。