『壹』 網站結構包括哪些部分
1、網站域名
域名相當於網站的名稱,人們通過域名就能搜索到網站。
2、網站空間
網站空間就是存放網站內容的空間,也稱為虛擬主機空間。網站空間能存放很多內容,包括網站文件、資料、文字、文檔、資料庫、網站頁面、圖片等,儲存這些內容的地方就是虛擬空間。而企業如果資金充足,擁有屬於自己的空間不是難事;如果資金不富裕,也可以和其它企業共用一個空間,這樣在很大程度上可以節省成本。同時網站空間有幾種不同的類型,可以根據網站類型來選擇不同的儲存空間。
3、網站源代碼
網站源代碼也稱為源程序,指未編譯的文本代碼或一個網站的全部源碼文件,是一系列人類可讀的計算機語言指令。一般是通過一定的程序把源代碼翻譯成我們所看到的東西,是網站最原始的代碼,也是網站必不可少的一部分。
『貳』 什麼是網站總體架構設計
網站結構是指網站中頁面間的層次關系,按性質可分為邏輯結構及物理結構。是現代網路學習和發展的一個必須的基礎技術。根據需求分析的結果,准確定位網站目標群體,設定網站整體架構,規劃、設計網站欄目及其內容,制定網站開發流程及順序。
網站架構的內容有哪些?
有程序架構,呈現架構,和信息架構三種表現,步驟主要分為硬架構和軟架構兩步程序。
『叄』 什麼是網站架構
網站架構,一般認為是根據客戶需求分析的結果,准確定位網站目標群體,設定網站整體架構,規劃、設計網站欄目及其內容,制定網站開發流程及順序,以最大限度地進行高效資源分配與管理的設計。其內容有程序架構,呈現架構,和信息架構三種表現。而步驟主要分為硬架構和軟架構兩步程序。網路架構是現代網路學習和發展的一個必須的基礎技術。
中文名
網站架構
一般認為
根據客戶需求分析的結果
制定
網站開發流程及順序
內容
程序架構,呈現架構
快速
導航
軟架構八個方案
硬架構
機房的選擇
在選擇機房的時候,根據網站用戶的地域分布,可以選擇網通或電信機房,但更多時候,可能雙線機房才是合適的。越大的城市,機房價格越貴,從成本的角度看可以在一些中小城市託管伺服器,比如說北京的公司可以考慮把伺服器託管在天津,廊坊等地,不是特別遠,但是價格會便宜很多。
帶寬的大小
通常老闆花錢請我們架構網站的時候,會給我們提出一些目標,諸如網站每天要能承受100萬PV的訪問量等等。這時我們要預算一下大概需要多大的帶寬,計算帶寬大小主要涉及兩個指標(峰值流量和頁面大小),我們不妨在計算前先做出必要的假設:
第一:假設峰值流量是平均流量的5倍。
第二:假設每次訪問平均的頁面大小是100K位元組左右。
如果100萬PV的訪問量在一天內平均分布的話,摺合到每秒大約12次訪問,如果按平均每次訪問頁面的大小是100K位元組左右計算的話,這12次訪問總計大約就是1200K位元組,位元組的單位是Byte,而帶寬的單位是bit,它們之間的關系是1Byte = 8bit,所以1200K Byte大致就相當於9600K bit,也就是9Mbps的樣子,實際情況中,我們的網站必須能在峰值流量時保持正常訪問,所以按照假設的峰值流量算,真實帶寬的需求應該在45Mbps 左右。
當然,這個結論是建立在前面提到的兩點假設的基礎上,如果你的實際情況和這兩點假設有出入,那麼結果也會有差別。
伺服器的劃分
先看我們都需要哪些伺服器:圖片伺服器,頁面伺服器,資料庫伺服器,應用伺服器,日誌伺服器等等。
對於訪問量大點的網站而言,分離單獨的圖片伺服器和頁面伺服器相當必要,我們可以用lighttpd來跑圖片伺服器,用apache來跑頁面伺服器,當然也可以選擇別的,甚至,我們可以擴展成很多台圖片伺服器和很多台頁面伺服器,並設置相關域名,如img.domain和 www.domain,頁面里的圖片路徑都使用絕對路徑,如<img src="http://img.domain/abc.gif" />,然後設置DNS輪循,達到最初級的負載均衡。當然,伺服器多了就不可避免的涉及一個同步的問題,這個可以使用rsync軟體來搞定。
資料庫伺服器是重中之重,因為網站的瓶頸問題十有八九是出在資料庫身上。一般的中小網站多使用MySQL資料庫,不過它的集群功能似乎還沒有達到stable的階段,所以這里不做評價。一般而言,使用MySQL資料庫的時候,我們應該搞一個主從(一主多從)結構,主資料庫伺服器使用innodb表結構,從數據伺服器使用myisam表結構,充分發揮它們各自的優勢,而且這樣的主從結構分離了讀寫操作,降低了讀操作的壓力,甚至我們還可以設定一個專門的從伺服器做備份伺服器,方便備份。不然如果你只有一台主伺服器,在大數據量的情況下,mysqlmp基本就沒戲了,直接拷貝數據文件的話,還得先停止資料庫服務再拷貝,否則備份文件會出錯。但對於很多網站而言,即使資料庫服務僅停止了一秒也是不可接受的。如果你有了一台從資料庫伺服器,在備份數據的時候,可以先停止服務(slave stop)再備份,再啟動服務(slave start)後從伺服器會自動從主伺服器同步數據,一切都沒有影響。但是主從結構也是有致命缺點的,那就是主從結構只是降低了讀操作的壓力,卻不能降低寫操作的壓力。
為了適應更大的規模,可能只剩下最後這招了:橫向/縱向分割資料庫。所謂橫向分割資料庫,就是把不同的表保存到不同的資料庫伺服器上,比如說 用戶表保存在A資料庫伺服器上,文章表保存在B資料庫伺服器上,當然這樣的分割是有代價的,最基本的就是你沒法進行LEFT JOIN之類的操作了。所謂縱向分割資料庫,一般是指按照用戶標識(user_id)等來劃分數據存儲的伺服器,比如說:我們有5台資料庫伺服器,那麼 「user_id % 5 + 1」等於1的就保存到1號伺服器,等於2的就保存到2號伺服器,以此類推,縱向分隔的原則有很多種,可以視情況選擇。不過和橫向分割資料庫一樣,縱向分割資料庫也是有代價的,最基本的就是我們在進行如COUNT, SUM等匯總操作的時候會麻煩很多。綜上所述,資料庫伺服器的解決方案一般視情況往往是一個混合的方案,以其發揮各種方案的優勢,有時候還需要藉助memcached之類的第三方軟體,以便適應更大訪問量的要求。
如果有專門的應用伺服器來跑PHP腳本是最合適不過的了,那樣我們的頁面伺服器只保存靜態頁面就可以了,可以給應用伺服器設置一些諸如app.domain之類的域名來和頁面伺服器加以區別。對於應用伺服器,我還是更傾向於使用prefork模式的apache,配上必要的xcache之類的PHP緩存軟體,載入模塊要越少越好,除了mod_rewrite等必要的模塊,不必要的東西統統舍棄,盡量減少httpd進程的內存消耗,而那些圖片伺服器,頁面伺服器等靜態內容就可以使用lighttpd或者tux來搞,充分發揮各種伺服器的特點。
如果條件允許,獨立的日誌伺服器也是必要的,一般小網站的做法都是把頁面伺服器和日誌伺服器合二為一了,在凌晨訪問量不大的時候cron運行前一天的日誌計算,不過如果你使用awstats之類的日誌分析軟體,對於百萬級訪問量而言,即使按天歸檔,也會消耗很多時間和伺服器資源去計算,所以分離單獨的日誌伺服器還是有好處的,這樣不會影響正式伺服器的工作狀態。
軟架構
框架的選擇
PHP框架有很多選擇,比如:CakePHP,Symfony,Zend Framework等等,至於應該使用哪一個並沒有唯一的答案,要根據Team里團隊成員對各個框架的了解程度而定。很多時候,即使沒有使用框架,一樣能 寫出好的程序來,比如Flickr據說就是用Pear+Smarty這樣的類庫寫出來的,所以,是否用框架,用什麼框架,一般不是最重要的,重要的是我們 的編程思想里要有框架的意識。
邏輯的分層
『肆』 什麼是網站架構
1. 結構就是xhtml和xml,要求主要在語義上,有統一的行業標准和規范,一般能做到良好的表現適應和風格統一就行。
2. 表現就是css,現在越來越受到重視,當css文件變得越大越復雜時,維護變得越來越困難,特別是換膚技術的流行,對表現提出了更高的要求。Garrett Dimon這篇架構樣式表就是在探討良好組織和規劃css的問題。
3. 行為包括dom, script等,在web2.0網站中的體現,主要是大量運用ajax技術,但因為ajax自身缺陷,很難做到完美的流暢、高效運轉,Cal Henderson這篇讓javascript跑得更快大概說的就是flickr在行為架構處理上的一些經驗。
此外,做好這三方面還不夠,還得有良好文件目錄結構來進行有效管理和簡化url復雜度(rewrite另當別論)。
程序架構指用邏輯實現可視化方面,隨著應用程序規模和復雜性的增加,應用程序架構的設計和選擇的重要性已遠遠超過特定演算法和數據結構的選擇,良好的應用程序架構是保證應用系統成功的關鍵。