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

正文內(nèi)容

計算機]大型網(wǎng)站架構(gòu)方案分析與總結(jié)(留存版)

2025-01-05 05:33上一頁面

下一頁面
  

【正文】 pdate 和 delete 付出的成本會高的無法想想,筆者遇到過一個情況,在更新一個聚焦索引的時候需要 10 分鐘來完成,那么對于站點 來說,這些基本上是不可忍受的。比如數(shù)據(jù)散列,分割,內(nèi)容處理等等問題。 用數(shù)據(jù)庫也未必不能解決訪問量巨大所帶來的問題,作成靜態(tài)文件硬盤的尋址時間也未必少于數(shù)據(jù)庫的搜索時間,當然對資料的索引要下一翻工夫。 Mysql 數(shù)據(jù)庫服務(wù)器的 masterslave 模式,利用數(shù)據(jù)庫服務(wù)器在主從服務(wù)器間進行同步,應(yīng)用只把數(shù)據(jù)寫到主服務(wù)器,而讀數(shù)據(jù)時則根據(jù)負載選擇一臺從服務(wù)器或者主服務(wù)器來讀取,將數(shù)據(jù)按不同策略劃分到不同的服務(wù)器(組)上,分散數(shù)據(jù)庫壓力。 上面提供的幾個解決思路在一定程度上也意味著更大的投入,并且這樣的解決思路具備瓶頸,沒有很好的擴展性,下面我從低成本、高性能和高擴張性的角度來說說我的一些經(jīng)驗。 架構(gòu)方面的緩存,對 Apache 比較熟悉的人都能知道 Apache 提供了自己的緩存模塊,也可以使用外加的 Squid 模塊進行緩存,這兩種方式均可以有效的提高 Apache 的訪問響應(yīng)能力。但是滿足一定量的壓力還是游刃有余的,有人說軟件實現(xiàn)方式其實更靈活,處理能力完全看你配置的熟悉能力。 2) 使用 MySQL Replication 機制實現(xiàn)快速將主庫(寫庫)的數(shù)據(jù)庫復(fù)制到從庫(讀庫)。(這個地方需要加入對某個分布式存儲系統(tǒng)的簡單介紹。我們的工作就是 幫助企業(yè)用最低的操作成本來創(chuàng)建并運行高性能的、可伸縮的、安全的系統(tǒng),因此對于這類問題我們有很豐富的經(jīng)驗。由于 PHP 無法在執(zhí)行過程之間保持狀態(tài)(這與 Java 不同),這個會話數(shù)據(jù)需要存儲在某個地方,通常是在數(shù)據(jù)庫中。 所有公用的服務(wù),都應(yīng)該運行在專門的用戶 下,如 Apache。 Web 站點應(yīng)該總是在指定的平臺和 Linux 發(fā)布的標準路徑下進行測試和部署 ,像 RedHat 或者 CentOS 下的 /var//html 路徑。 大型高性能網(wǎng)站的十項規(guī)則 使用良好的數(shù)據(jù)庫設(shè)計和 SQL 在任何系 統(tǒng)中,數(shù)據(jù)庫通常是最大的性能瓶 頸。 MySQL 默認安裝使用說明中只有 5~10 行關(guān)于配置的說明,這根本不適合開發(fā)使用。幸運的是,現(xiàn)在使用云計算(或者私有云)可以輕松達到這一點。 作者簡介: Steve Mushero, ChinaNetCloud 公司聯(lián)合創(chuàng)始人、 CEO 兼 CTO,擁有全球 20 多年的技術(shù)管理經(jīng)驗。在這種情況下,應(yīng)該使用 2~3 臺 Memcache 服務(wù)器形成簇集架構(gòu),并且有選擇地包含一個緩存準備過程, 如果緩存服務(wù)器重啟,需要重新載入數(shù)據(jù),它能夠快速地載入緩存。 總要擁有良好的 DB 配置和備份 很多公司都沒有良好的備份機制,也不知道如 何恰當?shù)赝瓿蛇@項工作。 大型系統(tǒng)經(jīng)常會使用專門的工具如 Local5 來記錄日志,并配置 Syslog 或者Syslogng 來將其 存放在單獨的文件中,這樣會更容易使用。事實上,這兩個路徑都是非常不 標準的,并且會帶來操作和安全性的問題。我們僅對指定的 IP 開放確實需要的端口。通常每個會話都會包括相互關(guān)聯(lián)的會話數(shù)據(jù), 如用戶名、用戶 ID、歷史、購物車、統(tǒng)計資料等等信息。其中有些系統(tǒng)擁有良好的服務(wù)器 /網(wǎng)絡(luò)架構(gòu),并且進行了合理的調(diào)整和監(jiān)控 ;然而一般的系統(tǒng)都會有安全和性能上的 問題,不能良好運行,也無法變得更流行。 分布式存儲系統(tǒng) 結(jié)構(gòu)圖: Web 系統(tǒng)平臺中的存 儲需求有下面兩個特點: 1) 存儲量很大,經(jīng)常會達到單臺服務(wù)器無法提供的規(guī)模,比如相冊、視頻等應(yīng)用。硬件負載均衡效率高,但是價格貴,比如 F5 等。在 IP 世界,業(yè)務(wù)類型由終端 TCP或 UDP 端口地址來決定,在第四層交換中的應(yīng)用區(qū)間則由源端和終端 IP 地址、 TCP 和 UDP端口共同決定。 緩存 緩存一詞搞技術(shù)的都接觸過,很多地方用到緩存。 淺析大型網(wǎng)站的架構(gòu) 一個小型的網(wǎng)站,比如個人網(wǎng)站,可以使用最簡單的 html 靜態(tài)頁面就實現(xiàn)了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網(wǎng)站對系統(tǒng)架構(gòu)、性能的要求都很簡單,隨著互聯(lián)網(wǎng)業(yè)務(wù)的不斷豐富,網(wǎng)站相關(guān)的技術(shù)經(jīng)過這些年的發(fā)展,已經(jīng)細分到很細的方方面面,尤其對于大型網(wǎng)站來說,所采用的技術(shù)更是涉及面非常廣,從硬件到軟件、編程語言、數(shù)據(jù)庫、 WebServer、防火墻等各個 領(lǐng)域都有了很高的要求,已經(jīng)不是原來簡單的html 靜態(tài)網(wǎng)站所能比擬的。 數(shù)據(jù)庫 因為是千萬人同時訪問的網(wǎng)站,所以一般是有很多個數(shù)據(jù)庫同時工作的,說明白一點就是數(shù)據(jù)庫集群和并發(fā)控制,數(shù)據(jù)分布到地理位置不同的數(shù)據(jù)中心,以免發(fā)生斷電事故。因為 ibatis 直接操作 SQL 并有緩存機制。筆者已經(jīng)可以實現(xiàn)對于百度空間和 qq空間的群發(fā)了。 也許用 raid 和專用存貯服務(wù)器能解決眼下的問題,但是還有個問題就是各地的訪問問題,也許我們的服務(wù)器在北京,可能在云南或者新疆的訪問速度如何解決 ?如果做分布式,那么我們的文件索引以及架構(gòu)該如何規(guī)劃。 大型網(wǎng)站架構(gòu)不得不考慮的 10個問題 大型網(wǎng)站架構(gòu)只包括高互動性高交互性的數(shù)據(jù)型大型網(wǎng)站,基于大家眾所周知的原因,我們就不談新聞類和一些依靠 HTML 靜態(tài)化就可以實現(xiàn)的架構(gòu)了,我們以高負載高數(shù)據(jù)交換高數(shù)據(jù)流動性的網(wǎng)站為例,比如海內(nèi),開心網(wǎng)等類似的 系列架構(gòu)。 所以我們不得不承認,文件存貯是個很不容易的問題 數(shù)據(jù)關(guān)系的處理 我們可以很容易的規(guī)劃出一個符合第三范式的數(shù)據(jù)庫,里面布滿了多對多關(guān)系,還能用GUID 來替換 INDENTIFY COLUMN 但是,多對多關(guān)系充斥的 時代,第三范式是第一個應(yīng)該被拋棄的。大家愿意試試,實際上并不是很難。 spring 的好處就不用我多說了,IOC的機制可以避免 new 對象,這樣也節(jié)省開銷。另外還有一點的是,那些網(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)站,比如門戶網(wǎng)站。網(wǎng)站架構(gòu)和網(wǎng)站開發(fā)中的緩存也是非常重要。 在硬件四層交換產(chǎn)品領(lǐng)域,有一些知名的產(chǎn)品可以選擇,比如 Alteon、 F5 等,這些產(chǎn)品很昂貴,但是 物有所值,能夠提供非常優(yōu)秀的性能和很靈活的管理能力。軟件負載均衡系統(tǒng)價格較低或者免費,效率較硬件負載均衡系統(tǒng)低,不過對于流量一般或稍大些網(wǎng)站來講也足夠使用,比如 lvs, nginx。因此需要專業(yè)的大規(guī)模存儲系統(tǒng)。 在中國, 開源的 LAMP 棧是最流行的網(wǎng)絡(luò)架構(gòu),它使用 PHP 開發(fā),運行在 Apache服務(wù)器上,以 MySQL 作為數(shù)據(jù)庫,所有這些都運行在 Linux 上。 問題在 于,在有兩臺 Web 服務(wù)器和多個 HTTP 連接的情況下,用戶流量會在兩臺服務(wù)器之間分配和移動,服務(wù)器很難知道用戶是誰,并對所有數(shù)據(jù)進行跟蹤,因 為每個頁面或者頁面的組成部分都可能來 自不同的服務(wù)器。Iptables 可能會很復(fù)雜,但是有很多不錯的模板,我們通??梢允褂盟鼈儊韼椭蛻魟?chuàng)建 Iptables。當這些系統(tǒng)從開發(fā)環(huán)境轉(zhuǎn)移到測試環(huán)境再到生產(chǎn)環(huán)境中時, 因為每個安裝配置都是非標準的,所以經(jīng)常會出現(xiàn)問題,這時就需要開發(fā)者調(diào)整才能夠正常工作。需要注意的是,Syslog 工具和 Logger(以及任何 Syslog 調(diào)用)默認優(yōu)先使用 ,如有必要,你可以對其進行調(diào)整。 MySQL的 Dump 是不夠的,因為最好的備份方法是使用 LVM 快照和 INNODB 對系統(tǒng)進行熱備份,從而得到超快的速度和超高的 可靠性。 構(gòu)建測試和開發(fā)環(huán)境 很多公司只有開發(fā)者的桌面系統(tǒng)和他們的生產(chǎn) 服務(wù)器。曾擔任土豆網(wǎng)、 Intermind 和 Advanced Management Systems 等多家企業(yè) CTO 。最佳的實踐是擁有兩個測試系統(tǒng),一個用于開發(fā)者的代碼和功能的整合測試, 另一個要與生產(chǎn)環(huán)境完全一致,從而更容易向生產(chǎn)環(huán)境平滑地過渡。另外還要確保擁有設(shè)計合理的 MySQL 配置。這使得我們可以記錄非常詳細和強大的日志,用來分析和調(diào)試在生產(chǎn)操作中所發(fā)生的問 題。不要從源代碼編譯或者安裝 Tarball,因為這會導(dǎo)致長期穩(wěn)定性和管理上的問題,另外在服務(wù)器上安裝多個不同的版本也 會造成混淆。我們最佳實踐的 Iptables 配置大概有 5 頁,這其中包含了 Linux 所能提供的最高級的安全防范。 這樣做帶來一個問題,接下來每段 PHP 腳本 都需要基于 ID 來查找會話數(shù)據(jù)。然而,我們很難對 其
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1