摘要:而后端的知識是與前端工作最密切相關的一部分內容,多了解些后端的知識也是大有裨益的。本文簡單敘述了三種構建大型架構的必備知識。而作為一個前端兒,許多技術可能無法在工程項目中親自去實踐,也只能從書,講座,博文中學習了。
前言
作為一個有追求的前端,在學有余力的同時,不應該把自己僅僅局限于前端的世界中的。
而后端的知識是與前端工作最密切相關的一部分內容,多了解些后端的知識也是大有裨益的。
本文簡單敘述了三種構建大型架構的必備知識。也是我做前端這么久以來,一直想知道的如何突破現有的性能瓶頸做到
高并發,高性能,高可靠。文中如有錯誤,歡迎指正。
優化數據庫
負載均衡
緩存技術
優化數據庫對于使用數據庫的Web站點來說,數據庫性能關系整個web應用的性能,如果數據庫性能不佳,其他的優化工作也是徒勞無功。所以優化數據庫性能,
對提高整個web應用的效率有著舉足輕重的作用。
1、 表的設計要規范,即要符合數據庫設計范式。
2、 適當建立索引,在頻繁作為檢索條件,更新較少的字段上建立索引,以提高查詢速度。
3、 分表查詢,有水平分割、垂直分割。
4、 讀寫分離,讀(read)、寫(create、update、delete)。
5、 建立存儲過程。
這里特別想提到的是拆分表格這一點。最簡單的諸如,根據用戶ID的最后1位的數字將其拆分成10個表,即 0,1,2,3,4,5,6,7,9。
這種平行的拆分方式,一方面,可以解決單個數據庫并發連接數的限制,另外一方面可以控制單表的大小。很有效的一種優化方式,特別在于解決高并發的需求。
單臺Web服務器處理能力有限,單臺服務器承受的壓力達到極限時,需要有更多的服務器分擔工作,我們需要想辦法將流量合理分配到更多的服務器上。
任何的負載均衡技術都要想辦法建立某種一對多的映射機制: 一個請求的入口映射到多個處理請求的節點,從而實現分而治之(Divide and Conquer)。
這種映射機制使得多個物理存在對外體現為一個虛擬的整體,對服務的請求者屏蔽了內部的結構。
采用不同的機制建立映射關系,可以形成不同的負載均衡技術,常見的包括:
CDN
HTTP重定向
基于DNS的輪詢解析
反向代理服務器
詳細可以參考 億級Web系統搭建——單機到分布式集群
緩存隨著網絡的發展,數據越來越多,從而導致運算的壓力越來越大,為了解決這一問題,就需要合理分級計算資源,充分利用已有資源。緩存的工作實際上計算資源的合理分配。
緩存 (Cache) 原意是指可以進行高速數據交換的存儲器。當CPU處理數據時,先到 Cache 中尋找,如果數據因之前的操作已經讀取而被暫存其中,就不需要再從隨機存取存儲器中讀取數據了。
現在緩存的概念已被擴充,凡是位于速度相差較大的兩種介質之間,用于協調兩者數據傳輸速度差異的結構,均可以稱之為 Cache 。
在 web 世界,理論上每一層都可以被緩存。以PHP應用為例:
底層有CPU緩存,磁盤文件系統緩存
數據庫層有 Table Cache,Query Cache
Apache和Ngix的緩存
應用程序代碼級別的Smarty實現的文件緩存
基于HTTP協議和瀏覽器自身實現的瀏覽器緩存
基于NoSQL系統的緩存(redis, memcached)
結語上述三種技術手段,是構建大型網絡應用的必備技術,展開來每點的水都很深。
而作為一個前端兒,許多技術可能無法在工程項目中親自去實踐,也只能從書,講座,博文中學習了。
最后推薦一本PHP的書籍《PHP核心技術與最佳實踐》,確實如同作者在其書中前言所述,沒有講述HTML,CSS,JS基礎,也沒有講PHP語法基礎,而是專注于web開發技術的最前沿,深入淺出,探討高并發大流量的架構。 非常棒的一本進階書籍。
WilsonLiu"s blog首發地址:http://blog.wilsonliu.cn
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22177.html
摘要:而后端的知識是與前端工作最密切相關的一部分內容,多了解些后端的知識也是大有裨益的。本文簡單敘述了三種構建大型架構的必備知識。而作為一個前端兒,許多技術可能無法在工程項目中親自去實踐,也只能從書,講座,博文中學習了。 前言 作為一個有追求的前端,在學有余力的同時,不應該把自己僅僅局限于前端的世界中的。而后端的知識是與前端工作最密切相關的一部分內容,多了解些后端的知識也是大有裨益的。 本文...
摘要:轉行前端有哪些疑慮在人生的抉擇處,尋求一些別人的經驗和總結,無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面這里前后端指的是開發的前后端。 轉行前端有哪些疑慮? 在人生的抉擇處,尋求一些別人的經驗和總結,無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面:這里前后端指的是web開發的前后端。1、前端崗位需...
摘要:轉行前端有哪些疑慮在人生的抉擇處,尋求一些別人的經驗和總結,無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面這里前后端指的是開發的前后端。 轉行前端有哪些疑慮? 在人生的抉擇處,尋求一些別人的經驗和總結,無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面:這里前后端指的是web開發的前后端。1、前端崗位需...
摘要:轉行前端有哪些疑慮在人生的抉擇處,尋求一些別人的經驗和總結,無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面這里前后端指的是開發的前后端。 轉行前端有哪些疑慮? 在人生的抉擇處,尋求一些別人的經驗和總結,無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面:這里前后端指的是web開發的前后端。1、前端崗位需...
摘要:寫這篇文章就是想了解手工測試現在的處境為什么手工測試會迷茫呢不知道自動化測試性能測試會不會迷茫。我認為手工測試的迷茫基于兩個原因一是重復的測試相同的方法測到自己找不著北,有一天猛然抬頭大喊我要改變世界,改變自己,暗示自己換一種工作方法。 ...
閱讀 3198·2023-04-26 01:30
閱讀 665·2021-11-08 13:15
閱讀 1774·2021-09-24 10:35
閱讀 998·2021-09-22 15:41
閱讀 1930·2019-08-30 15:44
閱讀 593·2019-08-30 13:22
閱讀 1004·2019-08-30 13:06
閱讀 1197·2019-08-29 13:22