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