分佈式與集羣
分佈式:一個任務分給多幾個機器去作,減小單個任務的執行時間。
集羣:提升單位時間內執行任務數。
例如:一個任務由10個子任務組成。
分佈式方案:提供10臺服務器,每臺服務器只處理一個子任務
集羣方案:一樣提供10臺服務器,每臺服務器都能獨立處理這個任務。假設有10個任務同時到達,10個服務器將同時工做。tomcat
傳統的系統架構就是經典的三層結構,就一個項目跑在一個tomcat中,可是隨着用戶數量的增長,一個服務器一個tomcat確定是不靠譜的,若是鄉村教師馬雲在杭州一個小地方,搞了一臺服務器,一個tomcat,跑天貓的代碼,而後讓咱們去訪問,那咱們估計是不可能看到網站首頁的,一直處於宕機狀態。哈哈!服務器
這時候可使用集羣的架構,就是說如今馬雲狠着買了5臺服務器,每臺服務器都跑天貓的代碼,而後又搞了一個Nginx作負載均衡,這時候咱們的請求由五臺服務器完成的,第一次請求是第一臺服務器響應,第二次請求是由第二臺服務器響應,這樣能夠應對的併發量就是以前的5倍,馬雲很開心,美滋滋。架構
總結:多臺服務器跑的都是一套完整的代碼,這就叫集羣。併發
隨着淘寶的作大,功能也日益完善,加了不少的功能,在把一個項目都讓一套tomcat跑,tomcat說它也很累,能不能少跑點代碼,這時候分佈式系統架構就產生了,咱們把天貓這個大項目按功能劃分爲不少的模塊,好比說單獨一個系統處理訂單,一個處理用戶登陸,一個處理後臺等等,而後每一子系統都單獨跑在一個tomcat中,和起來就是一個完整的天貓項目,這樣對每個tomcat就相對輕鬆一點。(若是某個子系統的壓力仍是不少,能夠考慮對這個子系統再作集羣)負載均衡
總結:多臺服務器合起來跑的纔是一套完整代碼,這就叫分佈式。分佈式
SOA:Service Oriented Architecture面向服務的架構。也就是把工程拆分紅服務層、表現層兩個工程。服務層中包含業務邏輯,只須要對外提供服務便可。表現層只須要處理和頁面的交互,業務邏輯都是調用服務層的服務來實現。ide
這樣作的好處就是,系統之間的調用很方便,A系統要用到B系統,直接調用B系統的服務層就能夠了。網站