一:分布式架構和部署
1:如何進行分布式部署
2:系統拆分後,模組之間如何相互呼叫
3:如何進行統一的會話(session)管理
4:如何實現單點登入
5:如何保證一致性更新
6:如何規劃和處理分布式事務
7:如何對重要服務實現ha
二:高併發和web層的效能優化
1:高併發的處理
2:nginx的優化,varnish的配置和優化
3:web層的快取和靜態化
4:web層的效能優化,基本原理、各種優化的手段
5:tomcat集群和msm
6:如何處理動態、實時內容
三:邏輯層處理和效能優化
1:redis快速上手
2:快取規劃和memcashed集群(使用magent)
3:非同步規劃和集群,以及優化
4:純記憶體操作,應對複雜業務邏輯,比如:庫存的查詢和修改
5:如何處理高併發的業務
四:資料層處理和效能優化
1:大資料量的處理
2:mysql的分割槽
3:如何分庫
4:如何分表
5:應用mysql fabric
五:資料庫優化(這個內容太多了,會專門開設另外的課程來講)
1:mysql的主從集群和讀寫分離
2:galera for mysql的集群
3:mysql的ha和負載均衡
4:sql優化的方法
5:mysql常見的優化配置
6:nosql的應用
1.什麼是分布式系統
通俗點說:就是能把系統進行拆分並部署到多台伺服器上的系統。(注意區分分層和集群)
專業點說:分布式軟體系統(distributed software systems)是支援分布式處理的軟體系統,是在由網路互聯的多處理機體系結構上執行任務的系統。常見的有:分布式作業系統、分布式程式語言及其編譯(解釋)系統、分布式檔案系統、分布式資料庫系統、分布式應用系統等。
2.為何需要分布式
單台伺服器已經無法承受訪問壓力
大資料處理
高併發訪問
高可用性,自動容錯
並行、高效能應用……
3.分布式系統的特點
1):面對高併發、大資料量的處理要求
2):高可擴充套件性(可伸縮)
3):高效能
4):異構:作業系統、硬體、程式語言等
5):同步、非同步操作混雜
6):安全性:授權認證、sso單點登入、oauth等
7):透明性,如:訪問透明、位置透明、併發透明、故障透明、伸縮透明等
4.分布式系統的缺點
1):相互呼叫不便
2):網路通訊的可靠性
3):網路傳輸資料的安全問題
4):系統開發更複雜
5):測試困難
5.什麼是分布式部署
簡單點說:就是把程式或資料,分散部署到多台物理伺服器上,但他們組
合起來,形成乙個整體對外提供服務。
6.分布式架構部署的演變
1.1臺伺服器的最簡部署
比如我們在自己的電腦上跑乙個專案!web伺服器和資料庫伺服器都是在同一臺物理機器上!
2.分離web伺服器和資料庫伺服器
3.水平增加web伺服器,加入varnish(請求很多,一台web伺服器不夠了)
在一台伺服器上起多台web伺服器,或者增加硬體
4.加入分布式的檔案系統
系統有大量的,檔案等
5.加入快取服務(有大量的讀取資料庫中資料的情況)
6.mysql資料庫的主從集群、讀寫分離
7.繼續水平增加web伺服器,加入nginx
8.按業務進行快取分離,快取集群
9.加入訊息系統,進行非同步處理
10.對重要的節點進行ha集群,或者是雙機熱備,以保障可用性
分布式部署給開發帶來的問題
分布式部署會帶來很多問題,有很多在開發期間就要考慮到,比如:
1:各個拆分開的模組間如何相互呼叫
2:單點登入
3:會話的統一管理
4:一致性更新
5:分布式事務
6:關鍵服務的可用性保障
solr分布式部署
solr 分布式部署 solr複製模式,是一種在分布式環境下用於同步主從伺服器的一種實現方式,因之前提到的基於rsync的solr不同方式部署成本過高,被solr1.4版本所替換,取而代之的就是基於http協議的索引檔案傳輸機制,該方式部署簡單,只需配置乙個檔案即可。以下講解具體操作步驟 步驟分主伺...
分布式部署(下篇)
服務和使用者服務搭建完畢後,我們繼續搭建剩下的服務 筆記服務和日誌服務。筆記服務負責與筆記本相關的所有業務邏輯處理,也就是本專案中的主要業務功能,在 上基本不需要做修改,只用配置好 consul 即可。結構 entity service 獲取筆記本列表 邏輯中唯一需要修改的地方是獲取筆記本列表。原來...
minio分布式部署
一 至少準備四個節點 192.168.0.100 m1192.168.0.101 m2192.168.0.102 m3192.168.0.103m4 二 部署 在m1機器上進行目錄的建立 1 建立相關目錄 mkdir p usr local minio wget cp minio usr local...