架構(gòu)設(shè)計(jì) 門(mén)戶(hù)網(wǎng)站的技術(shù)架構(gòu)怎樣設(shè)計(jì)方案?
門(mén)戶(hù)網(wǎng)站的技術(shù)架構(gòu)怎樣設(shè)計(jì)方案?我參與了一個(gè)行業(yè)門(mén)戶(hù)的設(shè)計(jì)。我覺(jué)得我已經(jīng)解決了大型網(wǎng)站面臨的一系列問(wèn)題和挑戰(zhàn),比如高并發(fā)訪(fǎng)問(wèn)、海量數(shù)據(jù)處理、高可靠性運(yùn)行等等。在實(shí)踐中,我提出了許多解決方案來(lái)實(shí)現(xiàn)各種技
門(mén)戶(hù)網(wǎng)站的技術(shù)架構(gòu)怎樣設(shè)計(jì)方案?
我參與了一個(gè)行業(yè)門(mén)戶(hù)的設(shè)計(jì)。我覺(jué)得我已經(jīng)解決了大型網(wǎng)站面臨的一系列問(wèn)題和挑戰(zhàn),比如高并發(fā)訪(fǎng)問(wèn)、海量數(shù)據(jù)處理、高可靠性運(yùn)行等等。在實(shí)踐中,我提出了許多解決方案來(lái)實(shí)現(xiàn)各種技術(shù)架構(gòu)目標(biāo),例如高性能、高可用性、可伸縮性、可伸縮性和安全性。這些解決方案被更多的網(wǎng)站反復(fù)使用,從而逐漸形成了大規(guī)模的網(wǎng)站架構(gòu)模式。分布式應(yīng)用和服務(wù):除了提高網(wǎng)站性能和并發(fā)性,加快開(kāi)發(fā)和發(fā)布速度,減少數(shù)據(jù)庫(kù)連接資源消耗之外,分層、分段的應(yīng)用和服務(wù)模塊的分布式部署還可以使不同的應(yīng)用重用公共服務(wù),方便業(yè)務(wù)功能擴(kuò)展。
2. 分布式靜態(tài)資源:JS、CSS、logo、image等網(wǎng)站靜態(tài)資源獨(dú)立部署、分布式,采用獨(dú)立域名,通常稱(chēng)為動(dòng)靜分離。靜態(tài)資源分布式部署可以降低應(yīng)用服務(wù)器的負(fù)載壓力;通過(guò)使用獨(dú)立域名加快瀏覽器的并發(fā)加載;由負(fù)責(zé)用戶(hù)體驗(yàn)的團(tuán)隊(duì)負(fù)責(zé)網(wǎng)站的開(kāi)發(fā)和維護(hù),有利于網(wǎng)站的分工與合作,使不同的用戶(hù)體驗(yàn)不一樣工作類(lèi)型可以是專(zhuān)門(mén)的。
3. 分布式數(shù)據(jù)與存儲(chǔ):大型網(wǎng)站需要以P為單位處理海量數(shù)據(jù),單臺(tái)計(jì)算機(jī)無(wú)法提供如此大的存儲(chǔ)空間,這些數(shù)據(jù)需要分布式存儲(chǔ)。除了傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的分布式部署外,各種面向網(wǎng)站應(yīng)用的NoSQL產(chǎn)品也都是分布式的。
4. 分布式計(jì)算:嚴(yán)格來(lái)說(shuō),應(yīng)用程序、服務(wù)和實(shí)時(shí)數(shù)據(jù)處理都是計(jì)算。除了這些在線(xiàn)業(yè)務(wù),網(wǎng)站還有大量用戶(hù)沒(méi)有直觀感受的后端業(yè)務(wù)需要處理,包括搜索引擎的索引構(gòu)建、數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)分析和統(tǒng)計(jì)等,這些服務(wù)的計(jì)算規(guī)模非常大。目前,Hadoop及其MapReduce分布式計(jì)算框架廣泛應(yīng)用于此類(lèi)批量計(jì)算的網(wǎng)站,其特點(diǎn)是移動(dòng)計(jì)算而不是移動(dòng)數(shù)據(jù)。將計(jì)算程序分發(fā)到數(shù)據(jù)所在的位置,加快了計(jì)算和分布式計(jì)算的速度。
總之,分布式設(shè)計(jì)思想很多,比如支持在線(xiàn)服務(wù)器配置實(shí)時(shí)更新的分布式配置,在分布式環(huán)境下實(shí)現(xiàn)并發(fā)和協(xié)作的分布式鎖,支持云存儲(chǔ)的分布式文件系統(tǒng)。
到底如何區(qū)分什么是架構(gòu),框架,模式和平臺(tái)?
1. 為什么首先要提到設(shè)計(jì)模式?因?yàn)樵O(shè)計(jì)模式是這些概念中最基本、最簡(jiǎn)單的。
那么什么是設(shè)計(jì)模式?說(shuō)白了,設(shè)計(jì)模式告訴您如何為特定問(wèn)題組織類(lèi)、對(duì)象和接口之間的關(guān)系。它們是前人的經(jīng)驗(yàn)。例如,如果我想在代碼中實(shí)現(xiàn)一個(gè)全局唯一的配置類(lèi),我將使用單例模式。設(shè)計(jì)模式將用于實(shí)際的編碼工作和框架設(shè)計(jì),而更高層次的體系結(jié)構(gòu)和平臺(tái)將不太關(guān)注它們。2ORM框架是所有數(shù)據(jù)關(guān)系映射框架的總稱(chēng),如NHibernate和activerecord。存在解決具體問(wèn)題的框架。其他框架,如模板框架和緩存框架,不能直接使用,需要二次開(kāi)發(fā)。三。架構(gòu)從大的層面來(lái)說(shuō),比如B2C網(wǎng)站的系統(tǒng)架構(gòu)對(duì)于公司的業(yè)務(wù)來(lái)說(shuō),可能會(huì)用到各種框架來(lái)解決各種問(wèn)題,注重技術(shù)的集成、擴(kuò)展、可維護(hù)性。從另一個(gè)角度來(lái)看,架構(gòu)問(wèn)題也將涉及到框架中,比如如何設(shè)計(jì)NHibernate框架。4平臺(tái)的概念類(lèi)似于框架,但結(jié)合架構(gòu)的考慮,它是一個(gè)更高層次的“框架”,是一個(gè)應(yīng)用。它是企業(yè)用戶(hù)為滿(mǎn)足企業(yè)業(yè)務(wù)需求而開(kāi)發(fā)的產(chǎn)品。
架構(gòu)是什么意思?
首先,我們一般討論產(chǎn)品框架和產(chǎn)品架構(gòu)。我們一般在性能層面討論產(chǎn)品框架,比如應(yīng)用布局形式和網(wǎng)站設(shè)計(jì)模式。網(wǎng)站和書(shū)籍上有許多詳細(xì)的教程。此外,如果你想找到一些優(yōu)秀的實(shí)踐案例,你可以找到類(lèi)似bootstrap的東西,這會(huì)給你很多啟發(fā)。另一個(gè)產(chǎn)品架構(gòu)相對(duì)廣泛。從整個(gè)產(chǎn)品到產(chǎn)品體系的構(gòu)建,這一點(diǎn)經(jīng)常被提及。其中之一就是您的基本產(chǎn)品功能,包括上述產(chǎn)品框架和用戶(hù)體驗(yàn)。這些產(chǎn)品的必要能力是基礎(chǔ)。另外,建議從一定的層次(包括但不限于)了解程序架構(gòu)設(shè)計(jì),了解面向?qū)ο蟮脑砗鸵恍﹥?yōu)秀的架構(gòu)設(shè)計(jì)思想,組織架構(gòu)也是一種架構(gòu),然后你就會(huì)很自然地理解什么是產(chǎn)品架構(gòu)。最后,如何表達(dá)呢?建議主題先看一下軟硬件架構(gòu)圖,然后把想做的產(chǎn)品模塊化,這樣就可以大致使用相互關(guān)系圖。另外,架構(gòu)是體現(xiàn)縝密性和完整性的,需要注重邏輯的自洽性。在上面