成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

大型分布式網(wǎng)站的思考(一):大型網(wǎng)站發(fā)展歷程

NikoManiac / 1574人閱讀

摘要:使用反向代理和加速網(wǎng)站響應(yīng)在性能權(quán)威指南中有講到,網(wǎng)站性能的瓶頸,大部分時(shí)間都浪費(fèi)在的握手和傳輸上。因此可以通過和反向代理的方式來加快響應(yīng)。分布式數(shù)據(jù)庫是數(shù)據(jù)庫拆分的最后手段,只用在單表數(shù)據(jù)規(guī)模特別龐大的時(shí)候才使用。

前幾天跟一個(gè)朋友聊了一些關(guān)于網(wǎng)站緩存分布式的一些東西,發(fā)現(xiàn)自己的知識(shí)還是太過貧瘠。理論+協(xié)議,這是現(xiàn)在我亟待加強(qiáng)的。這個(gè)周末買了兩本關(guān)于分布式網(wǎng)站的書,本著好記性不如爛筆頭,便有了這樣一系列的文章。希望一同分享,也請(qǐng)多指教。

code less, play more!

前言

這個(gè)世界上沒有哪個(gè)網(wǎng)站從誕生起就是大型網(wǎng)站;也沒有哪個(gè)網(wǎng)站第一次發(fā)布的時(shí)候就擁有龐大的用戶,高并發(fā)的訪問,海量的數(shù)據(jù);大型網(wǎng)站都是從小型網(wǎng)站發(fā)展而來。網(wǎng)站的價(jià)值在于它能給用戶提供什么家宅,在于網(wǎng)站能做什么,而不在于它是怎么做的,所以網(wǎng)站在小的時(shí)候就去追求網(wǎng)站的架構(gòu)是舍本逐末,得不償失的。小型網(wǎng)站最需要做的就是為用戶提供更好的服務(wù)來創(chuàng)造價(jià)值,得到用戶認(rèn)可,活下去,野蠻生長。

大型網(wǎng)站軟件系統(tǒng)的特點(diǎn)

高并發(fā),大流量

高可用

海量數(shù)據(jù)

用戶分布廣泛,網(wǎng)絡(luò)情況復(fù)雜

安全環(huán)境惡劣

需求快速變更,發(fā)布平頻繁

漸進(jìn)式發(fā)展

大型網(wǎng)站的發(fā)展歷程

初始階段的網(wǎng)站架構(gòu)

最開始沒有多少人訪問,所以應(yīng)用程序,數(shù)據(jù)庫,文件都在同一臺(tái)機(jī)器上。

應(yīng)用服務(wù)器和數(shù)據(jù)服務(wù)分離

應(yīng)用和數(shù)據(jù)分離之后,一般需要三臺(tái)服務(wù)器。應(yīng)用服務(wù)器,文件服務(wù)器和數(shù)據(jù)庫服務(wù)器,這三種服務(wù)器對(duì)于硬件要求各不相同。

應(yīng)用服務(wù)器:更強(qiáng)大的CPU

數(shù)據(jù)庫服務(wù)器:更快速的磁盤和更大的內(nèi)存

文件服務(wù)器:容量更大的硬盤

使用緩存改善性能

網(wǎng)站的訪問也遵循二八定律:80%的業(yè)務(wù)集中在20%的數(shù)據(jù)上。因此可以把這一小部分?jǐn)?shù)據(jù)緩存在內(nèi)存中,減少數(shù)據(jù)庫的訪問壓力。

網(wǎng)站的緩存可以分為兩種:

本地緩存:緩存在應(yīng)用服務(wù)器上。本地緩存訪問速度快,但是受制于內(nèi)存限制,緩存數(shù)量有限,而且也會(huì)出現(xiàn)和應(yīng)用程序爭(zhēng)搶內(nèi)存的情況。

遠(yuǎn)程分布式緩存:以集群的方式,緩存在大內(nèi)存的專用緩存服務(wù)器??梢栽诶碚撋献龅讲皇軆?nèi)存容量限制。

使用應(yīng)用服務(wù)器集群提高并發(fā)能力

當(dāng)一臺(tái)服務(wù)器的處理能力和存儲(chǔ)空間不足的時(shí)候,不要企圖更換更強(qiáng)大的服務(wù)器。對(duì)于大型網(wǎng)站來說,不管多么強(qiáng)大的服務(wù)器,都滿足不了網(wǎng)站持續(xù)增長的業(yè)務(wù)需求。此時(shí)就可以考慮集群的方式,通過負(fù)載均衡調(diào)度服務(wù)器,可以將來自用戶的請(qǐng)求分發(fā)到應(yīng)用服務(wù)器集群中的任何一臺(tái)服務(wù)器上。

數(shù)據(jù)庫讀寫分離

使用緩存后,大部分的數(shù)據(jù)讀操作訪問都可以不通過數(shù)據(jù)庫完成,但是仍有部分讀操作(如緩存過期,緩存不命中)和全部的寫操作需要訪問數(shù)據(jù)庫。

目前大部分?jǐn)?shù)據(jù)庫都提供主從熱備的功能,在寫數(shù)據(jù)的時(shí)候,訪問主庫,主庫通過主從復(fù)制機(jī)制將數(shù)據(jù)更新同步至從數(shù)據(jù)庫,在讀的時(shí)候就可以通過從數(shù)據(jù)庫獲取數(shù)據(jù)。

使用反向代理和CDN加速網(wǎng)站響應(yīng)

在《web性能權(quán)威指南》中有講到,網(wǎng)站性能的瓶頸,大部分時(shí)間都浪費(fèi)在TCP的握手和傳輸上。因此可以通過CDN和反向代理的方式來加快響應(yīng)。

CDN和反向代理的本質(zhì)都是通過緩存,不同的主要是:

CDN部署在服務(wù)器器上的機(jī)房,用戶在請(qǐng)求時(shí),從距離自己最近的機(jī)房獲取數(shù)據(jù)。

反向代理是部署在中心機(jī)房,用戶請(qǐng)求到達(dá)中心機(jī)房之后,首先訪問的服務(wù)器是反向代理的拂去其,如果反向代理服務(wù)器中緩存著用戶請(qǐng)求的額資源,就將其返回給用戶。

使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)

隨著業(yè)務(wù)的發(fā)展,依舊不能滿足的時(shí)候,就采用分布式的文件和分布式的數(shù)據(jù)庫系統(tǒng)。

分布式數(shù)據(jù)庫是數(shù)據(jù)庫拆分的最后手段,只用在單表數(shù)據(jù)規(guī)模特別龐大的時(shí)候才使用。更常用的拆分手段是業(yè)務(wù)分庫,將不同的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)在不同的數(shù)據(jù)庫中。

使用NoSQL和搜索引擎

對(duì)數(shù)據(jù)檢索和存儲(chǔ)越來越復(fù)雜的時(shí)候,就可以采用一些非關(guān)系型數(shù)據(jù)庫如HBase和非數(shù)據(jù)庫查詢技術(shù)如ElasticSearch等等

業(yè)務(wù)拆分

業(yè)務(wù)場(chǎng)景復(fù)雜的時(shí)候,一般講整個(gè)網(wǎng)站業(yè)務(wù)分為不同的產(chǎn)品線,如首頁,訂單,買家,賣家等等。

技術(shù)上也會(huì)根據(jù)產(chǎn)品線劃分,將一個(gè)網(wǎng)站分為許多不同的應(yīng)用,每個(gè)應(yīng)用獨(dú)立部署維護(hù),應(yīng)用之間可以通過一個(gè)超鏈接建立聯(lián)系,也可以通過消息隊(duì)列進(jìn)行數(shù)據(jù)分發(fā),當(dāng)然最多的還是通過訪問同一個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng)來構(gòu)成一個(gè)關(guān)聯(lián)的完整系統(tǒng)。

分布式服務(wù)

隨著業(yè)務(wù)越拆越小,存儲(chǔ)越來越大,維護(hù)越來越困難。此時(shí)就可以將相同業(yè)務(wù)操作的提取出來,獨(dú)立部署。應(yīng)用系統(tǒng)只需要管理用戶界面,通過分布式服務(wù)調(diào)用共同的業(yè)務(wù)服務(wù)完成具體的業(yè)務(wù)操作。也就是最近概念越來越火的——微服務(wù)。

云計(jì)算

大型網(wǎng)站架構(gòu)解決了海量數(shù)據(jù)庫管理和高并發(fā)事務(wù)處理,可以將這些解決方案應(yīng)用到網(wǎng)站自身以外的業(yè)務(wù)上?,F(xiàn)在像阿里云,亞馬遜等云計(jì)算平臺(tái),將計(jì)算作為一種基礎(chǔ)資源出售,中小網(wǎng)站不需要關(guān)系技術(shù)架構(gòu)等問題,只需要按需付費(fèi),就可以使網(wǎng)站隨著業(yè)務(wù)的增長獲得更大的存儲(chǔ)和計(jì)算資源。

未來

未來還能變成什么樣子,我也不清楚,也許以后都不是開發(fā)人員來維護(hù)了,所有的這些都是AI來完成,程序員要做的就是如何完善AI。也許AI發(fā)展到最后,人類都不需要存在了吧。

結(jié)語

網(wǎng)站的技術(shù)是為業(yè)務(wù)而存在的,除此以外毫無意義。在技術(shù)選型和架構(gòu)設(shè)計(jì)中,脫離業(yè)務(wù)發(fā)展實(shí)際,一味的追求新技術(shù),可能會(huì)把技術(shù)發(fā)展引入一個(gè)歪路。

技術(shù)是用來解決業(yè)務(wù)的問題,而技術(shù)不可能將所有問題都解決掉,涉及業(yè)務(wù)自身的問題,還是要通過業(yè)務(wù)手段去解決。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/70651.html

相關(guān)文章

  • 進(jìn)階Java架構(gòu)師必看15本書

    摘要:阿里巴巴的共享服務(wù)理念以及企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)建設(shè)的思路,給這些企業(yè)帶來了不少新的思路,這也是我最終決定寫這本書的最主要原因。盡在雙阿里巴巴技術(shù)演進(jìn)與超越是迄今唯一由阿里巴巴集團(tuán)官方出品全面闡述雙八年以來在技術(shù)和商業(yè)上演進(jìn)和創(chuàng)新歷程的書籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網(wǎng)站技術(shù)架構(gòu):核...

    Julylovin 評(píng)論0 收藏0
  • 大型網(wǎng)站技術(shù)架構(gòu)-入門梳理

    摘要:使用緩存兩個(gè)前提條件數(shù)據(jù)訪問熱點(diǎn)不均衡數(shù)據(jù)某時(shí)段內(nèi)有效,不會(huì)很快過期反向代理本地緩存分布式緩存異步旨在系統(tǒng)解耦。 大型網(wǎng)站技術(shù)架構(gòu)-入門梳理 標(biāo)簽 : 架構(gòu)設(shè)計(jì) [TOC] 羅列了大型網(wǎng)站架構(gòu)涉及到的概念,附上了簡(jiǎn)單說明 前言 本文是對(duì)《大型網(wǎng)站架構(gòu)設(shè)計(jì)》(李智慧 著)一書的梳理,類似文字版的思維導(dǎo)圖 全文主要圍繞性能,可用性,伸縮性,擴(kuò)展性,安全這五個(gè)要素 性能,可用性,伸縮性...

    wawor4827 評(píng)論0 收藏0
  • 好書共讀 | 國內(nèi)外互聯(lián)網(wǎng)技術(shù)大牛們都寫了哪些書籍?

    摘要:本項(xiàng)目主要收集國內(nèi)外各大互聯(lián)網(wǎng)公司技術(shù)大牛們出版的值得一看的書籍,歡迎推薦書籍完善內(nèi)容和排版。逆流而上阿里巴巴技術(shù)成長之路阿里巴巴集團(tuán)成長集編委會(huì)總結(jié)阿里巴巴技術(shù)團(tuán)隊(duì)在基礎(chǔ)架構(gòu)中間件數(shù)據(jù)庫業(yè)務(wù)開發(fā)等領(lǐng)域的經(jīng)典實(shí)踐以及對(duì)未來的思考。 出自 GitHub 開源組織 Doocs源地址:https://github.com/doocs/tech... 后面將會(huì)在 GitHub 陸續(xù)更新書籍清...

    goji 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<