寫在前面:感謝GeekBand提供這樣好的學(xué)習(xí)機(jī)會(huì)咆疗,讓我在繁忙的工作之余可以學(xué)習(xí)鞏固c++知識(shí)。以下是邊學(xué)邊記的一些擴(kuò)展點(diǎn)最疆。分享給大家金拒。
Scalability(擴(kuò)展性)
Scalability指可以同時(shí)支持用戶正常使用的數(shù)量;
Scalability有限制:在有2個(gè)負(fù)載均衡時(shí)僧叉,系統(tǒng)可以支持1000名用戶眶俩,平均響應(yīng)速度為3秒逻锐;
Performance針對(duì)單一用戶體驗(yàn)恩袱,而Scalability指多個(gè)用戶同時(shí)操作的體驗(yàn)泣棋。
Distributed System(分布式系統(tǒng)結(jié)構(gòu))
如何檢測(cè)一臺(tái)機(jī)器是否宕機(jī)
如果是工作節(jié)點(diǎn)宕機(jī):Master節(jié)點(diǎn)可以檢測(cè)到畔塔,并且把原來這個(gè)工作節(jié)點(diǎn)的服務(wù)遷移到其他節(jié)點(diǎn)
如果是Master節(jié)點(diǎn)宕機(jī):使用備份節(jié)點(diǎn)檢測(cè)潭辈,并且把這個(gè)備份節(jié)點(diǎn)設(shè)為Master節(jié)點(diǎn)。
分布式鎖可以讓分布式系統(tǒng)更有序運(yùn)行澈吨,推薦Apache ZooKeeper
CAP理論(Consistency把敢, Availability,Partition torlerance)
Consistency: 每一個(gè)客戶端對(duì)數(shù)據(jù)讀取一致棚辽;
Availability:每一個(gè)客戶端都可以讀和寫技竟;
Partition tolerance:不同的網(wǎng)絡(luò)分區(qū)中有效存儲(chǔ);
分布式設(shè)計(jì)時(shí)只能三選二屈藐,不可同時(shí)占有。
Database System
ACID:關(guān)系型數(shù)據(jù)庫(kù) Relational DBMS
特點(diǎn):Atomic Consistent Isolated Durable
BASE:分布式情況下的數(shù)據(jù)設(shè)計(jì)熙尉,CAP的延伸
Basically Avialble, Soft state, Eventually consistent.
應(yīng)用拆分
Scale-up:系統(tǒng)越來越大联逻,耦合越來越嚴(yán)重,難以維護(hù)和擴(kuò)展检痰,如果需要提升系統(tǒng)性能需要用上更好的設(shè)備和系統(tǒng)包归;
Scale-out:解耦合,利于擴(kuò)展铅歼,提升系統(tǒng)性能只需要提升關(guān)鍵部位的性能公壤。
子系統(tǒng)同步通信更復(fù)雜
子系統(tǒng)依賴關(guān)系更復(fù)雜
數(shù)據(jù)庫(kù)拆分
Stateless
Session Vs Cookie