泉州做網(wǎng)站的公司濰坊網(wǎng)站關(guān)鍵詞推廣
單機的局限性:
1.受限于硬件資源,單機所能承受的用戶并發(fā)量太少;
2.一個系統(tǒng)有多個模塊,任意模塊的修改都會導(dǎo)致整個項目代碼重新編譯、部署;
3.系統(tǒng)中,有些模塊是CPU密集型,有些模塊是I/O密集型,造成各個模塊對于硬件資源的需求是不一樣的。
集群:
負載均衡???????
集群的優(yōu)點?
????????性能提升了,用戶的并發(fā)量提升了,因為水平擴充了硬件資源;
????????部署簡單。
集群的缺點?
????????1、項目代碼還是需要整體重新編譯,而且需要進行多次部署。
????????2、系統(tǒng)中有些模塊是屬于CPU密集型(計算量大的),有些模塊是屬于I/O密集型的(接觸輸入輸出,網(wǎng)絡(luò)IO),造成各模塊對硬件資源的需求是不一樣。
并不是說機器多,并發(fā)量就上來,性能就高。像一些使用不多的模塊,不需要高并發(fā),所以也就不需要分別部署在三臺機器上,不常用的模塊只需要部署在一臺機器上就好
分布式:
集群:每一臺服務(wù)器獨立運行一個工程的所有模塊。
分布式:一個工程拆分了很多模塊,每一個模塊獨立部署運行在一個服務(wù)器主機上,所有服務(wù)器協(xié)同工作共同提供服務(wù),每一臺服務(wù)器稱作分布式的一個節(jié)點,根據(jù)節(jié)點的并發(fā)要求,對一個節(jié)點可以再做節(jié)點模塊集群部署。
分布式優(yōu)點:
1.對于并發(fā)量大的模塊我們單獨處理,單獨加集群;
2.假如其中一個模塊出問題了,我們只需要修改一個模塊就可以了;
3.把CPU密集型的模塊部署在CPU資源好的機器上。把內(nèi)存小的模塊部署在硬盤資源少的機器上。把IIO密集型的模塊部署在CPU不是很好的機器上。
4、有的模塊要求并發(fā)能力高,可以進行多機器集群部署。有的模塊并發(fā)能力小,部署在一臺機器就可以。
5、配置著高可用,容災(zāi),主備服務(wù)器,不用擔(dān)心就—套系統(tǒng)掛掉了怎么辦。
分布式問題:
1、大系統(tǒng)的軟件模塊該怎么劃分?
- 各模塊可能實現(xiàn)大量重復(fù)的代碼!
- 模塊和模塊之間的界線不清晰(有的模塊里面的函數(shù)調(diào)動另一個模塊的函數(shù)代碼)。
- 處理不好,造成大量重復(fù)代碼。而且你改你的,我改我的,重復(fù)的公共代碼就出問題了,變成不可控制了。
2. 各個模塊之間如何通信?
兩個模塊之間rpc通信協(xié)議,交互。