濰坊網站建設公司:大型網站軟件系統的特點

2021-07-23| 發(fā)布者:雲創科技| 查看: 118|

       如何讓網站随應用所需靈活變動,一年時(shí)間用戶數從零過(guò)億呢?
       一、首先,來看看大型網站軟件系統的特點,有以下特點:
       1、高并發(fā),大流量。
       2、高可用:系統24小時(shí)不間斷服務。
       3、海量數據。
       4、用戶分布廣泛,網絡情況複雜。
       5、安全環境惡劣。
       6、需求快速變更,發(fā)布頻繁。
       7、漸進(jìn)式發(fā)展。
       二、大型網站核心架構要素
       1、性能(néng):性能(néng)是網站的一個重要指标,除非是沒(méi)得選擇(比如隻能(néng)到www.12306.cn這(zhè)一個網站上買火車票),否則用戶無法忍受一個響應緩慢的網站。一個打開(kāi)緩慢的網站會(huì)導緻嚴重的用戶流失,很多時(shí)候網站性能(néng)問題是網站架構升級優化的觸發(fā)器。可以說(shuō)性能(néng)是網站架構設計的一個重要方面(miàn),任何軟件架構設計方案都(dōu)必須考慮可能(néng)會(huì)帶來的性能(néng)問題。
       也正是因爲性能(néng)問題幾乎無處不在,所以優化網站性能(néng)的手段也非常多,從用戶浏覽器到數據庫,影響用戶請求的所有環節都(dōu)可以進(jìn)行性能(néng)優化。在浏覽器端,可以通過(guò)浏覽器緩存、使用頁面(miàn)壓縮、合理布局頁面(miàn)、減少Cookie傳輸等手段改善性能(néng)。
       還(hái)可以使用CDN,將(jiāng)網站靜态内容分發(fā)至離用戶最近的網絡服務商機房,使用戶通過(guò)最短訪問路徑獲取數據。可以在網站機房部署反向(xiàng)代理服務器,緩存熱點文件,加快請求響應速度,減輕應用服務器負載壓力。
在應用服務器端,可以使用服務器本地緩存和分布式緩存,通過(guò)緩存在内存中的熱點數據處理用戶請求,加快請求處理過(guò)程,減輕數據庫負載壓力。也可以通過(guò)異步操作將(jiāng)用戶請求發(fā)送至消息隊列等待後(hòu)續任務處理,而當前請求直接返回響應給用戶。在網站有很多用戶高并發(fā)請求的情況下,可以將(jiāng)多台應用服務器組成(chéng)一個集群共同對(duì)外服務,提高整體處理能(néng)力,改善性能(néng)。
       在代碼層面(miàn),也可以通過(guò)使用多線程、改善内存管理等手段優化性能(néng)。在數據庫服務器端,索引、緩存、SQL優化等性能(néng)優化手段都(dōu)已經(jīng)比較成(chéng)熟。
       衡量網站性能(néng)有一系列指标,重要的有響應時(shí)間、TPS、系統性能(néng)計數器等,通過(guò)測試這(zhè)些指标以确定系統設計是否達到目标。這(zhè)些指标也是網站監控的重要參數,通過(guò)監控這(zhè)些指标可以分析系統瓶頸,預測網站容量,并對(duì)異常指标進(jìn)行報警,保障系統可用性。
       2、可用性:網站高可用的主要手段是冗餘,應用部署在多台服務器上同時(shí)提供訪問,數據存儲在多台服務器上互相備份,任何一台服務器宕機都(dōu)不會(huì)影響應用的整體可用,也不會(huì)導緻數據丢失。
       對(duì)于應用服務器而言,多台應用服務器通過(guò)負載均衡設備組成(chéng)一個集群共同對(duì)外提供服務,任何一台服務器宕機,隻需把請求切換到其他服務器就(jiù)可實現應用的高可用,但是一個前提條件是應用服務器上不能(néng)保存請求的會(huì)話信息。否則服務器宕機,會(huì)話丢失,即使將(jiāng)用戶請求轉發(fā)到其他服務器上也無法完成(chéng)業務處理。
       伸縮性:衡量架構伸縮性的主要标準就(jiù)是是否可以用多台服務器構建集群,是否容易向(xiàng)集群中添加新的服務器。加入新的服務器後(hòu)是否可以提供和原來的服務器無差别的服務。集群中可容納的總的服務器數量是否有限制。
       3、擴展性:不同于其他架構要素主要關注非功能(néng)性需求,網站的擴展性架構直接關注網站的功能(néng)需求。網站快速發(fā)展,功能(néng)不斷擴展,如何設計網站的架構使其能(néng)夠快速響應需求變化,是網站可擴展架構主要的目的。
       網站可伸縮架構的主要手段是事(shì)件驅動架構和分布式服務。
       事(shì)件驅動架構在網站通常利用消息隊列實現,將(jiāng)用戶請求和其他業務事(shì)件構造成(chéng)消息發(fā)布到消息隊列,消息的處理者作爲消費者從消息隊列中獲取消息進(jìn)行處理。通過(guò)這(zhè)種(zhǒng)方式將(jiāng)消息産生和消息處理分離開(kāi)來,可以透明地增加新的消息生産者任務或者新的消息消費者任務。
       分布式服務則是將(jiāng)業務和可複用服務分離開(kāi)來,通過(guò)分布式服務框架調用。新增産品可以通過(guò)調用可複用的服務實現自身的業務邏輯,而對(duì)現有産品沒(méi)有任何影響。可複用服務升級變更的時(shí)候,也可以通過(guò)提供多版本服務對(duì)應用實現透明升級,不需要強制應用同步變更。

本站關鍵詞:濰坊網站建設    濰坊網站設計   濰坊網站制作
QQ在線咨詢
售前咨詢熱線
1453005097
售後(hòu)服務熱線
1453005097
返回頂部