- 相關(guān)推薦
網(wǎng)站后端應用系統架構的優(yōu)化
為了解決網(wǎng)站后端應用系統架構目前存在的問(wèn)題,需要對網(wǎng)絡(luò )結構和應用系統進(jìn)行統一優(yōu)化調整,下面我們一起來(lái)看看:
1.實(shí)現動(dòng)、靜態(tài)文件分離,使用靜態(tài)文件緩存提高網(wǎng)站訪(fǎng)問(wèn)效率,保護靜態(tài)文件安全,避免程序問(wèn)題影響靜態(tài)頁(yè)面正常瀏覽。
2.使用全局文件系統對網(wǎng)站靜態(tài)文件以及其他可歸檔管理的文件進(jìn)行分類(lèi)歸檔管理,使文件集中存儲。
3.對動(dòng)態(tài)程序文件根據系統環(huán)境需求進(jìn)行集群化部署,使用服務(wù)器集群和應用集群提供高效、高可用的應用系統環(huán)境。
4.對現有數據庫進(jìn)行集中管理,從而減小數據庫風(fēng)險,提高數據庫的性能,降低數據庫維護管理成本。
通過(guò)以上種種策略的部署與實(shí)施,從而達到整個(gè)網(wǎng)站各項應用和訪(fǎng)問(wèn)能夠高效、穩定地運行,降低運營(yíng)風(fēng)險的目標,具體實(shí)現措施為:
一、使用靜態(tài)文件緩存提高網(wǎng)站訪(fǎng)問(wèn)效率,保護后端靜態(tài)文件
使用Linux下的Squid組建緩存服務(wù)集群,對網(wǎng)站的靜態(tài)文件,如網(wǎng)頁(yè)文件、樣式表文件、頁(yè)面腳本文件、圖片文件、XML文件和其他類(lèi)型靜態(tài)文件進(jìn)行緩存。對原本存儲在發(fā)布服務(wù)器上的靜態(tài)文件,根據訪(fǎng)問(wèn)請求,將文件根據索引保存在內存中,實(shí)現以下幾點(diǎn)功能:
1.硬盤(pán)上讀取速度明顯慢于內存,因此在內存中保存的數據可以以最快的速度返回給訪(fǎng)問(wèn)用戶(hù),通過(guò)內存索引,減少硬盤(pán)文件索引時(shí)間和文件讀取時(shí)間,提高文件命中率,降低后端服務(wù)器IO的資源占用,保證高效地對外發(fā)布。
2.Squid是使用反向代理技術(shù),只向后端的源服務(wù)器請求數據,不允許通過(guò)其他途徑對內存里的數據進(jìn)行更改,因此不會(huì )因為網(wǎng)絡(luò )應用漏洞導致文件內容被篡改,保障了網(wǎng)站靜態(tài)文件的安全可靠。
3.通過(guò)Squid中的Gzip模塊,對緩存的靜態(tài)文件進(jìn)行壓縮,減少靜態(tài)文件占用的空間,進(jìn)而減少靜態(tài)文件訪(fǎng)問(wèn)對網(wǎng)絡(luò )帶寬的消耗,降低了網(wǎng)絡(luò )使用成本。
二、使用全局文件系統對網(wǎng)站靜態(tài)內容集中存儲、歸檔
隨著(zhù)網(wǎng)站靜態(tài)文件發(fā)布量逐年增大,其占用的存儲空間也不斷增大。靜態(tài)文件發(fā)布所在的存儲位置零散,文件存儲規則各異,目錄里的文件雜亂,導致網(wǎng)站歷史數據無(wú)法集中保存。通過(guò)Linux全局文件系統(GFS)對網(wǎng)站靜態(tài)文件集中存儲、歸檔,可以提高網(wǎng)站應用服務(wù)器的使用效率,保障網(wǎng)站靜態(tài)文件數據安全與完整。
Linux全局文件系統是基于Linux集群的文件系統,全稱(chēng)是Linux Global File System。部署時(shí)使用3臺服務(wù)器組成靜態(tài)內容存儲集群連接網(wǎng)絡(luò )存儲設備(IP SAN),同時(shí)使用同一邏輯分區,共享分區里的目錄和文件,這樣就能通過(guò)相互協(xié)商的方式同時(shí)對分區內的目錄和文件進(jìn)行寫(xiě)和讀,在文件系統發(fā)生錯誤時(shí),可以使用網(wǎng)絡(luò )存儲的快照與回溯對數據進(jìn)行及時(shí)的恢復。
當靜態(tài)內容存儲集群中的服務(wù)器發(fā)生寫(xiě)入沖突時(shí),即同時(shí)對同一文件進(jìn)行寫(xiě)入,集群會(huì )根據集群成員的投票結果,對異常的服務(wù)器采取離線(xiàn)重啟的措施,這樣可以避免2臺服務(wù)器對同一文件寫(xiě)入造成的文件損壞,保障了文件的安全可靠。靜態(tài)內容存儲集群還可以根據訪(fǎng)問(wèn)的請求在線(xiàn)增加新的服務(wù)器,滿(mǎn)足了靜態(tài)文件不斷增多、訪(fǎng)問(wèn)量日益增大的壓力。
在靜態(tài)內容存儲集群中,將原來(lái)分布于各個(gè)獨立服務(wù)器上的靜態(tài)文件集中保存到網(wǎng)絡(luò )存儲中,根據特定的規則對內容進(jìn)行分類(lèi)保存,這樣既提供了統一的對外發(fā)布功能,又能對網(wǎng)站靜態(tài)文件進(jìn)行集中的存儲,提高網(wǎng)站靜態(tài)文件發(fā)布效率,還能對靜態(tài)文件進(jìn)行歸檔備份和管理,保障了靜態(tài)文件的安全。
三、對網(wǎng)站動(dòng)態(tài)程序分類(lèi),部署應用程序集群
由于網(wǎng)站的發(fā)展經(jīng)歷了數年,使用的網(wǎng)站程序系統種類(lèi)繁多,每種網(wǎng)站程序系統又有不同的版本,它們對服務(wù)器、操作系統、系統環(huán)境的需求各異。為了保障網(wǎng)站應用程序系統高效穩定,經(jīng)過(guò)對目前正在運行的網(wǎng)站應用程序系統整理分類(lèi),部署以下幾類(lèi)應用程序集群:
1.Windows Server平臺下的ASP、ASP.NET應用程序集群和JAVA應用程序集群,根據不同的程序分配不同的用戶(hù)權限、應用程序池,確保每個(gè)應用之間不會(huì )產(chǎn)生干擾,同一套程序系統分別部署在兩臺甚至多臺服務(wù)器上,使用應用負載均衡根據域名、請求路徑等策略選擇服務(wù)器,未被選中的服務(wù)器作為備用,隨時(shí)接替發(fā)生故障的服務(wù)器。
2.Linux平臺下的PHP應用程序系統集群,使用Linux全局文件系統存儲PHP程序文件,并且在每臺服務(wù)器上部署高效率的Nginx,提供高并發(fā)的應用程序請求響應,使用FastCGI通過(guò)PHP-FPM執行PHP程序,PHP程序的變量保存在Memcache中共享給集群中所有的PHP程序。PHP應用程序集群可以根據網(wǎng)站的訪(fǎng)問(wèn)量逐漸增加服務(wù)器提高網(wǎng)站服務(wù)能力,確保了高效的PHP應用程序集群,前端再使用應用負載均衡根據域名、請求路徑等策略同時(shí)轉發(fā)所有PHP連接請求到所有的PHP應用程序服務(wù)器,提供高并發(fā)、高效率和高可用的PHP應用程序集群。
四、對網(wǎng)站數據庫服務(wù)統一部署,集中管理
為了滿(mǎn)足網(wǎng)站動(dòng)態(tài)程序集群對高性能、高可用數據庫服務(wù)的要求,根據數據類(lèi)型部署了MySQL數據庫集群、MS-SQL數據庫集群和Oracle數據庫集群,實(shí)現了對數據庫的統一部署和集中管理,分別如下:
1.使用MySQL Cluster集群服務(wù)組建MySQL數據庫集群,通過(guò)配置MySQL服務(wù),能夠最大限度地使用每臺數據庫服務(wù)器資源,提供高效、高并發(fā)的數據庫服務(wù),集群中的每臺服務(wù)器都可以作為其他服務(wù)器的在線(xiàn)備份,使用MySQL事務(wù)日志(bin-log)實(shí)現MySQL數據庫的近線(xiàn)備份,并且編寫(xiě)Linux Shell在每天凌晨網(wǎng)站請求閑時(shí)在網(wǎng)絡(luò )存儲上進(jìn)行離線(xiàn)備份,確保數據文件的安全可靠。
2.通過(guò)Microsoft SQL Server組建MS-SQL數據庫集群,配合數據庫鏡像服務(wù)器,驗證數據庫服務(wù)器的完整性,對集中部署的數據庫做分區表,避免數據庫文件過(guò)大導致數據庫系統效率低;配合前端應用負載均衡為ASP、ASP.NET應用程序集群提供高效、穩定、安全的數據庫服務(wù),配置數據庫維護計劃對數據庫文件進(jìn)行近線(xiàn)和離線(xiàn)備份,確保數據庫文件的安全。
3.使用Oracle RAC數據庫集群套件部署Oracle真正應用集群(Oracle Real Application Cluster)。部署時(shí)使用2臺服務(wù)器通過(guò)網(wǎng)絡(luò )存儲為前端JAVA應用服務(wù)集群提供強大的數據庫服務(wù),也提供了大型數據倉儲和數據分析服務(wù),為網(wǎng)站的大型應用可靠穩定地對外服務(wù)提供了保障。
通過(guò)以上的優(yōu)化和調整,荊楚網(wǎng)目前能有效減少網(wǎng)頁(yè)文件無(wú)法訪(fǎng)問(wèn)的出現幾率,各個(gè)應用系統的整體可靠性提高了60%,應用系統的效率提高了30%,在滿(mǎn)足現有系統高效運行的情況下,節約了7臺服務(wù)器。同時(shí),極大地降低了應用系統的故障時(shí)間和影響,為下一步進(jìn)行服務(wù)器應用虛擬化集群部署提供了基本條件,也確保與提高了網(wǎng)站的服務(wù)水平。
【網(wǎng)站后端應用系統架構的優(yōu)化】相關(guān)文章:
Web系統架構的性能優(yōu)化08-28
流媒體系統架構的應用09-06
高校數字廣播系統架構與應用11-03
數字化校園應用系統架構08-16
系統架構設計師:優(yōu)化顯示速度09-21
秒殺系統架構分析09-22
智慧健康系統架構09-01
什么是系統架構師-如何成為系統架構師08-10