一.什么是分布式系統
簡單理解:就是一個系統拆分為多個子系統並分別部署到不同的服務器上從而一致組合起來對外提供服務的系統(這個需要和集群分開,集群只是分布式部署)
專業解釋:多個能獨立運行的計算機(稱為結點)組成。各個結點利用計算機網絡進行信息傳遞,從而實現共同的“目標或者任務”;
其實這些理論說多了也不一定能理解,還是看看淘寶架構的14次演變吧,看完你就基本理解分布式概念了,懶得去copy,湊合着看下面這個鏈接吧,個人感覺講得很到位
鏈接如下:https://segmentfault.com/a/1190000018626163
二,分布式系統需要知道那些點是必須搞清楚的,請看下面目錄,你知道多少?感覺這個目錄整理的還行,借來一用
1 分布式架構和部署
1.1 如何進行分布式部署
1.2 系統拆分后,模塊之間如何相互調用
1.3 如何進行統一的會話(Session)管理
1.4 如何實現單點登錄
1.5 如何保證一致性更新
1.6 如何規划和處理分布式事務
1.7 如何對重要服務實現HA
2 高並發和Web層的性能優化
2.1 高並發的處理
2.2 Nginx的優化,Varnish的配置和優化
2.3 Web層的緩存和靜態化
2.4 Web層的性能優化,基本原理、各種優化的手段
2.5 Tomcat集群和MSM
2.6如何處理動態、實時內容
3 邏輯層處理和性能優化
3.1 Redis快速上手
3.2 緩存規划和Memcashed集群(使用magent)
3.3 異步規划和集群,以及優化
3.4 純內存操作,應對復雜業務邏輯,比如:庫存的查詢和修改
3.5 如何處理高並發的業務
4 數據層處理和性能優化
4.1 大數據量的處理
4.2 MySQL的分區
4.3 如何分庫
4.4 如何分表
4.5 應用MySQL Fabric
5 數據庫優化(這個內容太多了,會專門開設另外的課程來講)
5.1 MySQL的主從集群和讀寫分離
5.2 Galera for MySQL的集群
5.3 MySQL的HA和負載均衡
5.4 SQL優化的方法
5.5 MySQL常見的優化配置
5.6 NoSQL的應用
后續會繼續跟進分布式,並會慢慢把上面那些問題的場景和答案給貼出來,讓大家和我一起共同進步,現在出去找工作說不會分布式基本都會被out的