適用人群
由Java、Java Web、Spring、Spring MVC、MyBatis、Maven、Linux基礎(chǔ)
教程中涵蓋的技術(shù)點包括 Dubbo分布式服務(wù)、ZooKeeper注冊中心、Redis3.0分布式緩存集群、MySQL讀寫分離集群、FastDFS_v5.05分布式文件系統(tǒng)集群、ActiveMQ5.11群集、Keepalived + Nginx實現(xiàn)的高可用Web負(fù)載均衡集群、基于Redis3.0集群實現(xiàn)會話共享的Tomcat集群、基于Hudson持續(xù)集成實現(xiàn)的自動化構(gòu)建與部署、Maven私有庫Nexus的安裝與使用、SonarQube代碼質(zhì)量管理平臺的安裝與使用等。
前言
一、什么是分布式框架
分布式系統(tǒng)是若干獨立系統(tǒng)的集合,但是用戶使用起來像是在使用一套系統(tǒng)
二、為什么需要分布式系統(tǒng)?
規(guī)模的逐步擴大和業(yè)務(wù)的復(fù)雜,單臺計算機扛不住雙十一那樣的流量,俗話說:三個臭皮匠抵一個諸葛亮。
三、應(yīng)用架構(gòu)的發(fā)展演變
(1)單一架構(gòu)
當(dāng)網(wǎng)站流量很小的時候,我們將所有的應(yīng)用(業(yè)務(wù))放到一臺服務(wù)器上,打包運行公司管理系統(tǒng)/超市收銀系統(tǒng)優(yōu)點:開發(fā)簡單,部署簡單
缺點:擴展不容易(怎么處理日益增長的流量),誰都改一個,維護不容易,性能提升難
(2)垂直應(yīng)用架構(gòu)
將大應(yīng)用拆分成為小應(yīng)用(一般按照業(yè)務(wù)拆分),根據(jù)不同的訪問頻率決定各自業(yè)務(wù)部署的服務(wù)器數(shù)量
優(yōu)點擴展容易
缺點:頁面一改,可能造成整個項目重新部署,業(yè)務(wù)和界面沒有分離開,隨著業(yè)務(wù)種類增加,怎么解決業(yè)務(wù)之間的互相調(diào)用問題,訂單服務(wù)器和用戶服務(wù)器交互效率的問題
(3)分布式架構(gòu)(基于RPC:遠(yuǎn)程過程調(diào)用)將業(yè)務(wù)拆分后,用某種方式實現(xiàn)各個業(yè)務(wù)模塊的遠(yuǎn)程調(diào)用和復(fù)用,這時一個好的RPC框架就決定了你的分布式架構(gòu)的性能,怎么調(diào)用,何時調(diào)用,服務(wù)器掛了怎么辦.…….我們需要一個框架來幫我們解決這個問題(當(dāng)然大大神可以自己寫一個,但是應(yīng)對大流量的成功者莫過于中國的阿里巴巴公司,頂住了淘寶雙十一的流量,反觀一些學(xué)校內(nèi)部的選課系統(tǒng),對于大流量時只有兩個字-宕機)。