看的一个pdf说的。。大型网站架构演变
2019獨角獸企業重金招聘Python工程師標準>>>
第一步:物理分離 webserver 和數據庫
????????????????????????????將應用和數據庫從物理上分離,變成了兩臺機器
第二步:增加頁面緩存
????????????????????????????例如 squid
第三步:增加頁面片段緩存
????????????????????????????例如 ESI 等
第四步:數據緩存
????????????????????????????緩存技術,包括像 Map 數據結構、緩存算法、所選用的框架本身的實現機制等
第五步: 增加 webserver
????????????????????????????1、如何讓訪問分配到這兩臺機器上,這個時候通常會考慮的方案是 Apache 自帶的負載均衡
????????????????????????????方案,或 LVS 這類的軟件負載均衡方案;
????????????????????????????2、如何保持狀態信息的同步,例如用戶 session 等,這個時候會考慮的方案有寫入數據庫、
????????????????????????????寫入存儲、cookie 或同步 session 信息等機制等;
????????????????????????????3、如何保持數據緩存信息的同步,例如之前緩存的用戶數據等,這個時候通常會考慮的機
????????????????????????????制有緩存同步或分布式緩存;
????????????????????????????4、如何讓上傳文件這些類似的功能繼續正常,這個時候通常會考慮的機制是使用共享文件
????????????????????????????系統或存儲等;
第六步:分庫
????????????????????這一步更多的是需要從業務上做合理的劃分,以實現分庫,具體技術細節上沒有其他的要求
第七步:分表、DAL 和分布式緩存
????????????????????分表更多的同樣是業務上的劃分,技術上涉及到的會有動態 hash 算法、consistent hash 算法
????????????????????等;
????????????????????DAL 涉及到比較多的復雜技術,例如數據庫連接的管理(超時、異常)、數據庫操作的控
????????????????????制(超時、異常)、分庫分表規則的封裝等;
第八步:增加更多的 webserver
????????????1、Apache 的軟負載或 LVS 軟負載等無法承擔巨大的 web 訪問量(請求連接數、網絡流量等)
????????????的調度了,這個時候如果經費允許的話,會取的方案是購 買硬件負載,例如 F5、Netsclar
????????????、Athelon 之類的,如經費不允許的話,會取的方案是將應用從邏輯上做一定的分類,然
????????????后分散到不同的軟負載集群中;
????????????2、原有的一些狀態信息同步、文件共享等方案可能會出現瓶頸,需要進行改進,也許這個
????????????時候會根據情況編寫符合網站業務需求的分布式文件系統等;
????????????在做完這些工作后,開始進入一個看似完美的無限伸縮的時代,當網站流量增加時,應對的
????????????解決方案就是不斷的添加 webserver。
第九步:數據讀寫分離和廉價存儲方案
????????????????數據讀寫分離要求對數據庫的復制、standby 等策略有深入的掌握和理解,同時會要求具備
????????????????自行實現的技術;
????????????????廉價存儲方案要求對 OS 的文件存儲有深入的掌握和理解,同時要求對采用的語言在文件這
????????????????塊的實現有深入的掌握、
第十步:進入大型分布式應用時代和廉價服務器群夢想時代
????????????????1、拆成分布式后需要提供一個高性能、穩定的通信框架,并且需要支持多種不同的通信和
????????????????遠程調用方式;
????????????????2、將一個龐大的應用拆分需要耗費很長的時間,需要進行業務的整理和系統依賴關系的控
????????????????制等;
????????????????3、如何運維(依賴管理、運行狀況管理、錯誤追蹤、調優、監控和報警等)好這個龐大的
????????????????分布式應用。
轉載于:https://my.oschina.net/u/1457061/blog/655159
總結
以上是生活随笔為你收集整理的看的一个pdf说的。。大型网站架构演变的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如饼干般轻薄:联想 ThinkBook
- 下一篇: 由归并算法引申出来的其他问题