欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

門戶網(wǎng)站開發(fā)_大型門戶網(wǎng)站建設結(jié)構(gòu)

2023-10-31    分類: 網(wǎng)站建設

千萬人同時訪問的網(wǎng)站,一般是有很多個數(shù)據(jù)庫同時工作,說明白一點就是數(shù)據(jù)庫集群和并發(fā)控制,這樣的網(wǎng)站實時性也是相對的。這些網(wǎng)站都有一些共同的特點:數(shù)據(jù)量大,在線人數(shù)多,并發(fā)請求多,pageview高,響應速度快??偨Y(jié)了一下各個大型門戶網(wǎng)站的架構(gòu),主要提高效率及穩(wěn)定性的幾個地方包括:

1、程序

程序開發(fā)是一方面,系統(tǒng)架構(gòu)設計(硬件+網(wǎng)絡+軟件)是另一方面。

軟件架構(gòu)方面,做網(wǎng)站首先需要很多web服務器存儲靜態(tài)資源,比如圖片、視頻、靜態(tài)頁等,千萬不要把靜態(tài)資源和應用服務器放在一起。

一個好的程序員寫出來的程序會非常簡潔、性能很好,一個初級程序員可能會犯很多低級錯誤,這也是影響網(wǎng)站性能的原因之一。

網(wǎng)站要做到效率高,不光是程序員的事情,數(shù)據(jù)庫優(yōu)化、程序優(yōu)化這是必須的,在性能優(yōu)化上要數(shù)據(jù)庫和程序齊頭并進!緩存也是兩方面同時入手。第一,數(shù)據(jù)庫緩存和數(shù)據(jù)庫優(yōu)化,這個由dba完成(而且這個有非常大的潛力可挖,只是由于我們都是程序員而忽略了他而已)。第二,程序上的優(yōu)化,這個非常的有講究,比如說重要一點就是要規(guī)范SQL語句,少用in 多用or,多用preparestatement 存儲過程,另外避免程序冗余如查找數(shù)據(jù)少用雙重循環(huán)等。另外選用優(yōu)秀的開源框架加以支持,我個人認為中后臺的支持是最最重要的,可以選取spring+ibatis。因為ibatis直接操作SQL并有緩存機制。spring的好處就不用我多說了,IOC的機制可以避免new對象,這樣也節(jié)省開銷。據(jù)我分析,絕大部分的開銷就是在NEW的時候和連接數(shù)據(jù)庫時候產(chǎn)生的,請盡量避免。另外可以用一些內(nèi)存測試工具來做一個demo說明hibernate和ibatis誰更快!前臺你想用什么就用什么,struts,webwork都成,如果覺得自己挺牛X可以試試用tapestry。

用數(shù)據(jù)庫也未必不能解決訪問量巨大所帶來的問題,作成靜態(tài)文件硬盤的尋址時間也未必少于數(shù)據(jù)庫的搜索時間,當然對資料的索引要下一翻工夫。我自己覺得門戶往往也就是當天、熱門的資料點擊率較高,將其做緩存最多也不過1~2G的數(shù)據(jù)量吧,

通常是采用oracle存儲過程+2個weblogic,更新機制也幾乎一樣每簽發(fā)一條新聞,就會生成靜態(tài)頁面,然后發(fā)往前端的web服務器,前端的web都是做負載均衡的。另外還有定時程序,每5-15分鐘自動生成一次。在發(fā)布新聞的同時將數(shù)據(jù)緩存。當然緩存也不會越來越大,在個特定的時間段(如凌晨)刪除過期的數(shù)據(jù)。做一個大的網(wǎng)站遠沒有想象中那么簡單,服務器基本就要百十個的。

這樣可以大大增加一臺計算機的處理速度,如果一臺機器處理不了,可以用httpserver集群來解決問題了。

2、網(wǎng)絡

中國的網(wǎng)絡分南電信和北網(wǎng)通,訪問的ip就要區(qū)分南北進入不同的網(wǎng)絡。

3、集群

通常會使用CDN與GSbL與DNS負載均衡技術,每個地區(qū)一組前臺服務器群,比如新浪和搜狐,而網(wǎng)易,百度使用了DNS負載均衡技術,每個頻道一組前臺服務器;一搜使用了DNS負載技術,所有頻道共用一組前臺服務器集群。

網(wǎng)站使用基于Linux集群的負載均衡,失敗恢復,包括應用服務器和數(shù)據(jù)庫服務器,基于linux-ha的服務狀態(tài)檢測及高可用化。

應用服務器集群可以采用apache+tomcat集群和weblogic集群等;web服務器集群可以用反向代理,也可以用NAT的方式,或者多域名解析都可以;Squid也可以,方法很多,可以根據(jù)情況選擇。

4、數(shù)據(jù)庫

因為是千萬人同時訪問的網(wǎng)站,所以一般是有很多個數(shù)據(jù)庫同時工作的,說明白一點就是數(shù)據(jù)庫集群和并發(fā)控制,數(shù)據(jù)分布到地理位置不同的數(shù)據(jù)中心,以免發(fā)生斷電事故。

主流的數(shù)據(jù)庫有Sun的是MySQL和Oracle。

Oracle是一款優(yōu)秀的、廣泛采用的商業(yè)數(shù)據(jù)庫管理軟件。有很強大的功能和安全性,可以處理相對海量的數(shù)據(jù)。而MySQL是一款非常優(yōu)秀的開源數(shù)據(jù)庫管理軟件,非常適合用多臺pC Server組成多點的存儲節(jié)點陣列(這里我所指的不是MySQL自身提供的集群功能),每單位的數(shù)據(jù)存儲成本也非常的低廉。用多臺pC Server安裝MySQL組成一個存儲節(jié)點陣列,通過MySQL自身的Replication或者應用自身的處理,可以很好的保證容錯(允許部分節(jié)點失效),保證應用的健壯性和可靠性??梢赃@么說,在關系數(shù)據(jù)庫管理系統(tǒng)的選擇上,可以考慮應用本身的情況來決定。

MySQL數(shù)據(jù)庫服務器的master-slave模式,利用數(shù)據(jù)庫服務器在主從服務器間進行同步,應用只把數(shù)據(jù)寫到主服務器,而讀數(shù)據(jù)時則根據(jù)負載選擇一臺從服務器或者主服務器來讀取,將數(shù)據(jù)按不同策略劃分到不同的服務器(組)上,分散數(shù)據(jù)庫壓力。

另外還有一點的是,那些網(wǎng)站的靜態(tài)化網(wǎng)頁并不是真的,而是通過動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁網(wǎng)址交換所出現(xiàn)的假象,這可以用urlrewrite這樣的開源網(wǎng)址映射器實現(xiàn)。這樣的網(wǎng)站實時性也是相對的,因為在數(shù)據(jù)庫復制數(shù)據(jù)的時候有一個過程,一般在技術上可以用到hibernate和ecache,但是如果要使網(wǎng)站工作地更好,可以使用EJb和websphere,weblogic這樣大型的服務器來支持,并且要用oracle這樣的大型數(shù)據(jù)庫。

大型門戶網(wǎng)站不建議使用Mysql數(shù)據(jù)庫,除非你對Mysql數(shù)據(jù)的優(yōu)化非常熟悉。Mysql數(shù)據(jù)庫服務器的master-slave模式,利用數(shù)據(jù)庫服務器在主從服務器間進行同步,應用只把數(shù)據(jù)寫到主服務器,而讀數(shù)據(jù)時則根據(jù)負載選擇一臺從服務器或者主服務器來讀取,將數(shù)據(jù)按不同策略劃分到不同的服務器(組)上,分散數(shù)據(jù)庫壓力。

大型網(wǎng)站要用oracle,數(shù)據(jù)方面操作盡量多用存儲過程,絕對提升性能;同時要讓DbA對數(shù)據(jù)庫進行優(yōu)化,優(yōu)化后的數(shù)據(jù)庫與沒優(yōu)化的有天壤之別;同時還可以擴展分布式數(shù)據(jù)庫,以后這方面的研究會越來越多;

5、頁面

從開始就考慮使用虛擬存儲/簇文件系統(tǒng)。它能讓你大量并行IO訪問,而且不需要任何重組就能夠增加所需要的磁盤。

頁面數(shù)據(jù)調(diào)用更要認真設計,一些數(shù)據(jù)查詢可以不通過數(shù)據(jù)庫的方式,實時性要求不高的可以使用lucene來實現(xiàn),即使有實時性的要求也可以用lucene(基于Java的全文索引/檢索引擎),lucene+compass還是非常優(yōu)秀的。

新聞類的網(wǎng)站可以用靜態(tài)頁存儲,采用定時更新機制減輕服務器負擔;首頁每個小模塊可以使用oscache緩存,這樣不用每次都拉數(shù)據(jù)。

前端的基于靜態(tài)頁面緩存的web加速器,主要應用有squid等。squid 將大部分靜態(tài)資源(圖片,js,css等)緩存起來,直接返回給訪問者,減少應用服務器的負載

網(wǎng)站的靜態(tài)化網(wǎng)頁并不是真的,而是通過動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁網(wǎng)址交換做出現(xiàn)的假象,這可以用urlrewrite這樣的開源網(wǎng)址映射器實現(xiàn),后綴名為htm或者html并不能說明程序生成了靜態(tài)頁面,可能是通過url重寫來實現(xiàn)的,為的只不過是在搜索引擎中提升自己網(wǎng)站的覆蓋面積罷了。

生成靜態(tài)頁面的服務器和www服務器是兩組不同的服務器,頁面生成后才會到www服務器,一部分數(shù)據(jù)庫并不是關系數(shù)據(jù)庫,這樣更適合信息衍生,www、mail服務器、路由器多,主要用負載平衡解決訪問瓶頸。

◎ 靜態(tài)頁面的缺點:

1) 增加了程序的復雜度

2) 不利于管理資料

3) 速度不是最快

4) 傷硬盤

6、緩存

從一開始就應該使用緩存,高速緩存是一個更好的地方存儲臨時數(shù)據(jù),比如Web站點上跟蹤一個特定用戶的會話產(chǎn)生的臨時文件,就不再需要記錄到數(shù)據(jù)庫里。

不能用lucene實現(xiàn)的可以用緩存,分布式緩存可以用memcached,如果有錢的話用10來臺機器做緩存,> 10G的存儲量相信存什么都夠了;如果沒錢的話可以在頁面緩存和數(shù)據(jù)緩存上下功夫,多用OSCACHE和EHCACHE,SWARMCACHE也可以,不過據(jù)說同步性不是很好;

可以使用Memcache(分布式緩存)進行緩存,用大內(nèi)存把這些不變的數(shù)據(jù)全都緩存起來,而當修改時就通知cache過期,memcache是LJ開發(fā)的一款分布式緩存產(chǎn)品,很多大型網(wǎng)站在應用,我們可以把Cache Server與App Server裝在一起。因為Cache Server對CpU消耗不大,而有了Cache Server的支援,App Server對內(nèi)存要求也不是太高,所以可以和平共處,更有效的利用資源。

單機內(nèi)存緩存、文件緩存、數(shù)據(jù)庫緩存等的策略都是可以很簡單的實現(xiàn)的,例如可以使用微軟的Caching Application block,但如何在集群環(huán)境中使多個緩存、多層緩存并保存同步是個重大問題。大型網(wǎng)站一般都使用緩存服務器群,并使用多層緩存。業(yè)內(nèi)最常用的有:

Squid cache,Squid服務器群,把它作為web服務器端前置cache服務器緩存相關請求來提高web服務器速度。Squid將大部分靜態(tài)資源(圖片,js,css等)緩存起來,直接返回給訪問者,減少應用服務器的負載

memcache,memcache服務器群,一款分布式緩存產(chǎn)品,很多大型網(wǎng)站在應用; 它可以應對任意多個連接,使用非阻塞的網(wǎng)絡IO。由于它的工作機制是在內(nèi)存中開辟一塊空間,然后建立一個Hashtable,Memcached自管理這些Hashtable。因為通常網(wǎng)站應用程序中最耗費時間的任務是數(shù)據(jù)在數(shù)據(jù)庫的檢索,而多個用戶查詢相同的SQL時,數(shù)據(jù)庫壓力會增大,而通過memcache的查詢緩存命中,數(shù)據(jù)直接從memcache內(nèi)存中取,每次緩存命中將替換到數(shù)據(jù)庫服務器的一次往返,到達數(shù)據(jù)庫服務器的請求更少,間接地提高了數(shù)據(jù)庫服務器的性能,從而使應用程序運行得更快。它通過基于內(nèi)存緩存對象來減少數(shù)據(jù)庫查詢的方式改善網(wǎng)站系統(tǒng)的反應,其最吸引人的一個特性就是支持分布式部署。有關memcache,以下文章可以參考:參考1,參考2,參考3官方站點。

e-Accelerator,比較特殊,pHp的緩存和加速器。是一個免費開源的pHp加速、優(yōu)化、編譯和動態(tài)緩存的項目,它可以通過緩存pHp代碼編譯后的結(jié)果來提高pHp腳本的性能,使得一向很復雜和離我們很遠的 pHp腳本編譯問題完全得到解決。通過使用eAccelerator,可以優(yōu)化你的pHp代碼執(zhí)行速度,降低服務器負載,可以提高pHp應用執(zhí)行速度最高達10倍。

7、服務器操作系統(tǒng)與Web服務器

最底層首先是操作系統(tǒng)。好的操作系統(tǒng)能提高好的性能、穩(wěn)定性和安全性,而這些對大型網(wǎng)站的性能、安全性和穩(wěn)定性都是至關重要的。

淘寶網(wǎng)(阿里巴巴): Linux操作系統(tǒng) + Web 服務器: Apache

新浪:FreebSD + Web 服務器:Apache

Yahoo:FreebSD + Web 服務器:自己的

Google: 部分Linux + Web 服務器:自己的

百度:Linux + Web 服務器: Apache

網(wǎng)易:Linux + Web 服務器: Apache

ebay: Windows Server 2003/8 (大量) + Web 服務器:Microsoft IIS

MySpace: Windows Server 2003/8 + Web 服務器:Microsoft IIS

由此可見,開源操作系統(tǒng)做Web應用是選已經(jīng)是一個既定事實。在開源操作系統(tǒng)中Linux和FreebSD差不太多,很難說哪個一定比另外一個要優(yōu)秀很多、能夠全面的超越對手,應該是各有所長。但熟悉Linux的技術人員更多些,利于系統(tǒng)管理、優(yōu)化等,所以Linux使用更廣泛。而Windows Server和IIS雖然有的網(wǎng)站使用,但不開源,而且需要購買微軟的一系列應用產(chǎn)品,限制了其使用。總之,開源操作系統(tǒng),尤其是Linux做Web應用是選已經(jīng)是一個既定事實。

常用的系統(tǒng)架構(gòu)是:

Linux + Apache + pHp + MySQL

Linux + Apache + Java (WebSphere) + Oracle

Windows Server 2003/2008 + IIS + C#/ASp.NET + 數(shù)據(jù)庫

以上一些不太成熟的想法,可以從某一個層次開始,逐步細化,把產(chǎn)品的性能指標提高上去。

本文標題:門戶網(wǎng)站開發(fā)_大型門戶網(wǎng)站建設結(jié)構(gòu)
標題網(wǎng)址:http://aaarwkj.com/news41/291691.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號建站公司、服務器托管微信小程序、網(wǎng)站維護、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司
羞羞的视频免费观看在线| 日日躁夜夜躁久久狠狠躁| 成人深夜福利视频在线| 国产精品国产三级国产专播| 免费看真人性生活视频 | 亚洲国产免费一区二区| 日本亚洲精品在线观看| 人妻勾引中文字幕在线视频| 午夜未满十八禁止观看| 亚洲天堂精品日韩电影| 欧美日韩另类国产综合| 亚洲中文字幕伦理在线| 久久婷亚洲综合五月天| 欧美三级特黄在线播放| 黄色录像免费看中文字幕| 国产无遮挡又黄又爽网站| 丝袜美腿诱惑国产在线| 国产一级二级三级大胆视频| 日韩一区二区三区av在线| 另类欧美亚洲中文在线综合| 成人免费中文字幕电影| 少妇熟女视频一区二区三区| 美女在线观看av少妇| 免费黄片视频大全在线播放 | 欧美一级特黄免费大片| 国产中文字幕自拍视频| 久久裸体国语精品国产91| 国产精品日产三级在线观看| 亚洲欧美日韩一区91| 国产又粗又猛又爽黄老大爷 | 亚洲一区制服无码中文| 五月婷久久精品国产亚洲av| 亚洲欧美av中文日韩二区| 国产精品日韩av一区二区| 2020年最新国产三级网站| 国外男女性生活在线视频| 亚洲国产成人久久综合区| 欧美精品在线高清观看| 人妻一少妇一区二区三区| 欧美日韩一区二区高清在线| 日本一区二区电影大全|