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