帝聯科技:架構設計的初衷是更好的服務於產品
軟件構架是一個容易理解的概念,多數工程師(尤其是經驗不多的工程師)會從直覺上來認識它,但要給出精確的定義很困難。特別是,很難明確地區分設計和構架:構架屬於設計的一方面,它集中於某些具體的特徵。
在近日上海舉辦的“2013中華架構師大會”上,來自多個互聯網領域的架構師們分享有關大數據架構、電商技術架構、網頁遊戲架構等技術以及實踐案例,從中,使架構師們相互瞭解到不同產品及需求所需要的架構設計、支撐系統以及大數據處理及存儲等方面的乾貨。
在當天的架構分享中,來自唯品會的架構師主要介紹了唯品會網站的日誌平台架構方面的數據收集及海量處理和即時處理,對於電商網站而言,數據的收集和處理關乎着網站是否能更好的挖掘到有用信息以及更好的運用,唯品會的平台架構中主要運用了Flume、Kafka、ElasticSearch、Storm、Zookeeper、Redis、MySQL、Hive這幾種工具,其中Kafka是一個高吞吐量分佈式消息系統,kafka的數據只會順序append,數據的刪除策略是累積到一定程度或者超過一定時間再刪除。Kafka另一個獨特的地方是將消費者信息保存在客户端而不是MQ服務器,這樣服務器就不用記錄消息的投遞過程,每個客户端都自己知道自己下一次應該從什麼地方什麼位置讀取消息,消息的投遞過程也是採用客户端主動pull的模型,這樣大大減輕了服務器的負擔。
針對這樣的架構設計,用户在網頁的瀏覽和體驗方面,也同樣離不開頁面加速架構,以帝聯科技的靜態頁面加速為例:首先,靜態頁面包含了圖片、文字、flash動畫等文件,所以對於CDN的節點架構就需要考慮到靜態頁面的文件屬性。靜態頁面區別於其他動態以及流媒體文件,它的更新頻率相對來説較低,所以利用緩存技術是最好的快速加載方法。

帝聯科技的靜態頁面加速服務是針對ICP運營商網站上的html文件、flash動畫以及各種文件類型的圖片而專門設計的加速產品,它的CDN架構屬性是建立在緩存技術的基礎上,在終端用户的訪問周邊建立Cache節點,同時網站上的所有文件可以通過定期和不定期的方式在帝聯CDN節點上進行更新,定期更新時CDN中心網絡主動更新源站數據,再通過智能解析系統將內容進行優化分發到帝聯CDN邊緣節點,不定期更新可以通過帝聯CDN客户服務系統進行主動推送更新完成。這樣便構成了靜態頁面加速的CDN架構系統,以此保證終端用户的高速訪問和網絡體驗。
除了走在最前端的架構師需要思考更多的架構設計和數據收集處理等方面的知識,作為維護平台運轉的運維也是其中不可忽視的重要環節,架構師做運維需要有工匠之心,一定要保證數據的準確性(不要不在乎0.1%的數據差異),因為網站的核心內容即是數據,同時需要更加細心以及有大局觀。