分布式部署


 一:分布式架構和部署

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:關鍵服務的可用性保障

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM