freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)]大型網(wǎng)站架構(gòu)方案分析與總結(jié)(編輯修改稿)

2024-12-12 05:33 本頁面
 

【文章內(nèi)容簡介】 e 的時(shí)候可以盡量少支持,盡可能少的 LoadModule,保證更高的系統(tǒng)消耗和執(zhí)行效率。 數(shù)據(jù)庫集群和庫表散列 大型網(wǎng)站都有復(fù)雜的應(yīng)用,這些應(yīng)用必須使用數(shù)據(jù)庫,那么在面對(duì)大量訪問的時(shí)候,數(shù)據(jù)庫的瓶頸很快就能顯現(xiàn)出來,這時(shí)一臺(tái)數(shù)據(jù)庫將很快無法滿足應(yīng)用,于是我們需要使用數(shù)據(jù)庫集群或者庫表散列。 在數(shù)據(jù)庫集群方面,很多數(shù)據(jù)庫都有自己的解決方案, Oracle、 Sybase 等都有很好的方案,常用的 MySQL 提供的 Master/Slave 也是類似的方案,您使用了什么樣的 DB,就參考 相應(yīng)的解決方案來實(shí)施即可。 上面提到的數(shù)據(jù)庫集群由于在架構(gòu)、成本、擴(kuò)張性方面都會(huì)受到所采用 DB 類型的限制,于是我們需要從應(yīng)用程序的角度來考慮改善系統(tǒng)架構(gòu),庫表散列是常用并且最有效的解決方案。我們?cè)趹?yīng)用程序中安裝業(yè)務(wù)和應(yīng)用或者功能模塊將數(shù)據(jù)庫進(jìn)行分離,不同的模塊對(duì)應(yīng)不同的數(shù)據(jù)庫或者表,再按照一定的策略對(duì)某個(gè)頁面或者功能進(jìn)行更小的數(shù)據(jù)庫散列,比如用戶表,按照用戶 ID 進(jìn)行表散列,這樣就能夠低成本的提升系統(tǒng)的性能并且有很好的擴(kuò)展性。sohu 的論壇就是采用了這樣的架構(gòu),將論壇的用戶、設(shè)置、帖子等信息進(jìn)行數(shù)據(jù)庫分離,然 后對(duì)帖子、用戶按照板塊和 ID 進(jìn)行散列數(shù)據(jù)庫和表,最終可以在配置文件中進(jìn)行簡單的配置便能讓系統(tǒng)隨時(shí)增加一臺(tái)低成本的數(shù)據(jù)庫進(jìn)來補(bǔ)充系統(tǒng)性能。 緩存 緩存一詞搞技術(shù)的都接觸過,很多地方用到緩存。網(wǎng)站架構(gòu)和網(wǎng)站開發(fā)中的緩存也是非常重要。這里先講述最基本的兩種緩存。高級(jí)和分布式的緩存在后面講述。 架構(gòu)方面的緩存,對(duì) Apache 比較熟悉的人都能知道 Apache 提供了自己的緩存模塊,也可以使用外加的 Squid 模塊進(jìn)行緩存,這兩種方式均可以有效的提高 Apache 的訪問響應(yīng)能力。 網(wǎng)站程序開發(fā)方面的緩存, Linux 上提供的 Memory Cache 是常用的緩存接口,可以在 web開發(fā)中使用,比如用 Java 開發(fā)的時(shí)候就可以調(diào)用 MemoryCache 對(duì)一些數(shù)據(jù)進(jìn)行緩存和通訊共享,一些大型社區(qū)使用了這樣的架構(gòu)。另外,在使用 web 語言開發(fā)的時(shí)候,各種語言基本都有自己的緩存模塊和方法, PHP 有 Pear 的 Cache 模塊, Java 就更多了, . 不是很熟悉,相信也肯定有。 鏡像 鏡像是大型網(wǎng)站常采用的提高性能和數(shù)據(jù)安全性的方式,鏡像的技術(shù)可以解決不同網(wǎng)絡(luò)接入商和地域帶來的用戶訪問速度差異,比如 ChinaNet 和 EduNet 之間的差異就促使了很多網(wǎng)站在教育網(wǎng)內(nèi)搭建鏡像站點(diǎn),數(shù)據(jù)進(jìn)行定時(shí)更新或者實(shí)時(shí)更新。在鏡像的細(xì)節(jié)技術(shù)方面,這里不闡述太深,有很多專業(yè)的現(xiàn)成的解決架構(gòu)和產(chǎn)品可選。也有廉價(jià)的通過軟件實(shí)現(xiàn)的思路,比如 Linux 上的 rsync 等工具。 負(fù)載均衡 負(fù)載均衡將是大型網(wǎng)站解決高負(fù)荷訪問和大量并發(fā)請(qǐng)求采用的終極解決辦法。 負(fù)載均衡技術(shù)發(fā)展了多年,有很多專業(yè)的服務(wù)提供商和產(chǎn)品可以選擇,我個(gè)人接觸過一些解決方法,其中有兩個(gè)架構(gòu)可以給大家做參考。 硬件四層交換 第四層交換使用第三層和第 四層信息包的報(bào)頭信息,根據(jù)應(yīng)用區(qū)間識(shí)別業(yè)務(wù)流,將整個(gè)區(qū)間段的業(yè)務(wù)流分配到合適的應(yīng)用服務(wù)器進(jìn)行處理。 第四層交換功能就象是虛 IP,指向物理服務(wù)器。它傳輸?shù)臉I(yè)務(wù)服從的協(xié)議多種多樣,有 HTTP、 FTP、 NFS、 Tel 或其他協(xié)議。這些業(yè)務(wù)在物理服務(wù)器基礎(chǔ)上,需要復(fù)雜的載量平衡算法。在 IP 世界,業(yè)務(wù)類型由終端 TCP或 UDP 端口地址來決定,在第四層交換中的應(yīng)用區(qū)間則由源端和終端 IP 地址、 TCP 和 UDP端口共同決定。 在硬件四層交換產(chǎn)品領(lǐng)域,有一些知名的產(chǎn)品可以選擇,比如 Alteon、 F5 等,這些產(chǎn)品很昂貴,但是 物有所值,能夠提供非常優(yōu)秀的性能和很靈活的管理能力。 Yahoo 中國當(dāng)初接近2020 臺(tái)服務(wù)器使用了三四臺(tái) Alteon 就搞定了。 軟件四層交換 大家知道了硬件四層交換機(jī)的原理后,基于 OSI 模型來實(shí)現(xiàn)的軟件四層交換也就應(yīng)運(yùn)而生,這樣的解決方案實(shí)現(xiàn)的原理一致,不過性能稍差。但是滿足一定量的壓力還是游刃有余的,有人說軟件實(shí)現(xiàn)方式其實(shí)更靈活,處理能力完全看你配置的熟悉能力。 軟件四層交換我們可以使用 Linux 上常用的 LVS 來解決, LVS 就是 Linux Virtual Server,他提供了基于心跳線 heartbeat 的 實(shí)時(shí)災(zāi)難應(yīng)對(duì)解決方案,提高系統(tǒng)的魯棒性,同時(shí)可供了靈活的虛擬 VIP 配置和管理功能,可以同時(shí)滿足多種應(yīng)用需求,這對(duì)于分布式的系統(tǒng)來說必不可少。 一個(gè)典型的使用負(fù)載均衡的策略就是,在軟件或者硬件四層交換的基礎(chǔ)上搭建 squid 集群,這種思路在很多大型網(wǎng)站包括搜索引擎上被采用,這樣的架構(gòu)低成本、高性能還有很強(qiáng)的擴(kuò)張性,隨時(shí)往架構(gòu)里面增減節(jié)點(diǎn)都非常容易。這樣的架構(gòu)我準(zhǔn)備空了專門詳細(xì)整理一下和大家探討。 對(duì)于大型網(wǎng)站來說,前面提到的每個(gè)方法可能都會(huì)被同時(shí)使用到,我這里介紹得比較淺顯,具體實(shí)現(xiàn)過程中很多細(xì)節(jié)還需要大家慢慢 熟悉和體會(huì),有時(shí)一個(gè)很小的 squid 參數(shù)或者apache 參數(shù)設(shè)置,對(duì)于系統(tǒng)性能的影響就會(huì)很大,希望大家一起討論,達(dá)到拋磚引玉之效。 淺談大型網(wǎng)站動(dòng)態(tài)應(yīng)用系統(tǒng)架構(gòu) 動(dòng)態(tài)應(yīng)用,是相對(duì)于網(wǎng)站靜態(tài)內(nèi)容而言,是指以 c/c++、 php、 Java、 perl、 .等服務(wù)器端語言開發(fā)的網(wǎng)絡(luò)應(yīng)用軟件,比如論壇、網(wǎng)絡(luò)相冊(cè)、交友、 BLOG 等常見應(yīng)用。動(dòng)態(tài)應(yīng)用系統(tǒng)通常與數(shù)據(jù)庫系統(tǒng)、緩存系統(tǒng)、分布式存儲(chǔ)系統(tǒng)等密不可分。 大型動(dòng)態(tài)應(yīng)用系統(tǒng)平臺(tái)主要是針對(duì)于大流量、高并發(fā)網(wǎng)站建立的底層系統(tǒng)架構(gòu)。大型網(wǎng)站的運(yùn)行需要一個(gè)可靠、安 全、可擴(kuò)展、易維護(hù)的應(yīng)用系統(tǒng)平臺(tái)做為支撐,以保證網(wǎng)站應(yīng)用的平穩(wěn)運(yùn)行。 大型動(dòng)態(tài)應(yīng)用系統(tǒng)又可分為幾個(gè)子系統(tǒng): 1) Web 前端系統(tǒng) 2)負(fù)載均衡系統(tǒng) 3)數(shù)據(jù)庫集群系統(tǒng) 4)緩存系統(tǒng) 5)分布式存儲(chǔ)系統(tǒng) 6)分布式服務(wù)器管理系統(tǒng) 7)代碼分發(fā)系統(tǒng) Web 前端系統(tǒng) 結(jié)構(gòu)圖: 為了達(dá)到不同應(yīng)用的服務(wù)器共享、避免單點(diǎn)故障、集中管理、統(tǒng)一配置等目的,不以應(yīng)用劃分服務(wù)器,而是將所有服務(wù)器做統(tǒng)一使用,每臺(tái)服務(wù)器都可以對(duì)多個(gè)應(yīng)用提供服務(wù),當(dāng)某些應(yīng)用訪問量升高時(shí),通過增加服務(wù)器節(jié)點(diǎn)達(dá)到整個(gè)服務(wù)器集群的性能提高,同時(shí)使他應(yīng)用也會(huì)受益。該 Web 前端系統(tǒng)基于 Apache/Ligd/Eginx 等的虛擬主機(jī)平臺(tái),提供 PHP 程序運(yùn)行環(huán)境。服務(wù)器對(duì)開發(fā)人員是透明的,不需要開發(fā)人員介入服務(wù)器管理 負(fù)載均衡系統(tǒng) 負(fù)載均衡系統(tǒng)分為硬件和軟件兩種。硬件負(fù)載均衡效率高,但是價(jià)格貴,比如 F5 等。軟件負(fù)載均衡系統(tǒng)價(jià)格較低或者免費(fèi),效率較硬件負(fù)載均衡系統(tǒng)低,不過對(duì)于流量一般或稍大些網(wǎng)站來講也足夠使用,比如 lvs, nginx。大多數(shù)網(wǎng)站都是硬件、軟件負(fù)載均衡系統(tǒng)并用。 數(shù)據(jù)庫集群系統(tǒng) 結(jié)構(gòu)圖: 由于 Web 前端采用了負(fù)載均衡集群結(jié)構(gòu)提高了服務(wù)的有效性和擴(kuò)展性,因此數(shù)據(jù)庫必須也是高可靠的,才能保證整個(gè)服務(wù)體系的高可靠性,如何構(gòu)建一個(gè)高可靠的、可以提供大規(guī)模并發(fā)處理的數(shù)據(jù)庫體系? 我們可以采用如上圖所示的方案: 1) 使用 MySQL 數(shù)據(jù)庫,考慮到 Web 應(yīng)用的數(shù)據(jù) 庫讀多寫少的特點(diǎn),我們主要對(duì)讀數(shù)據(jù)庫做了優(yōu)化,提供專用的讀數(shù)據(jù)庫和寫數(shù)據(jù)庫,在應(yīng)用程序中實(shí)現(xiàn)讀操作和寫操作分別訪問不同的數(shù)據(jù)庫。 2) 使用 MySQL Replication 機(jī)制實(shí)現(xiàn)快速將主庫(寫庫)的數(shù)據(jù)庫復(fù)制到從庫(讀庫)。一個(gè)主庫對(duì)應(yīng)多個(gè)從庫,主庫數(shù)據(jù)實(shí)時(shí)同步到從庫。 3) 寫數(shù)據(jù)庫有多臺(tái),每臺(tái)都可以提供多個(gè)應(yīng)用共同使用,這樣可以解決寫庫的性能瓶頸問題和單點(diǎn)故障問題。 4) 讀數(shù)據(jù)庫有多臺(tái),通過負(fù)載均衡設(shè)備實(shí)現(xiàn)負(fù)載均衡,從而達(dá)到讀數(shù)據(jù)庫的高性能、高可靠和高可擴(kuò)展性。 5) 數(shù)據(jù) 庫服務(wù)器和應(yīng)用服務(wù)器分離。 6) 從數(shù)據(jù)庫使用 BigIP 做負(fù)載均衡。 緩存系統(tǒng) 緩存分為文件緩存、內(nèi)存緩存、數(shù)據(jù)庫緩存。在大型 Web 應(yīng)用中使用最多且效率最高的是內(nèi)存緩存。最常用的內(nèi)存緩存工具是 Memcached。使用正確的緩存系統(tǒng)可以達(dá)到實(shí)現(xiàn)以下目標(biāo): 使用緩存系統(tǒng)可以提高訪問效率,提高服務(wù)器吞吐能力,改善用戶體驗(yàn)。 減輕對(duì)數(shù)據(jù)庫及存儲(chǔ)集服務(wù)器的訪問壓力。 Memcach
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1