版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
?平臺:NET,+NHibernate+SQLSERVER2008?開發(fā)模式:MVC模式三層都右A方開發(fā),A方的査詢業(yè)務(wù)呆本上依賴于SP,SP由B方方而開發(fā)。?農(nóng)現(xiàn):-B方對需求的理解不完善,導(dǎo)致SP經(jīng)常改動。但是SP的每次改動了之后,A方開發(fā)應(yīng)用程序的程序人員卻不知道,除1FA方程序員去調(diào)試以前己經(jīng)開發(fā)好的程序,不然很難發(fā)現(xiàn)B方修改了存儲過程。-存儲過程的修改,帶來的不僅是頁面表現(xiàn)層的數(shù)據(jù)綁定的問題,在模型層的domain和dto很有可能都要隨Z改動<>即使B方修改ZSP第一時間通知A方,A方修改相應(yīng)的模型層對彖,重新構(gòu)造層與層之間的訪問參數(shù)以及返回類型也足相X費時的事情。?問題:-該項HH前的開發(fā)方式和現(xiàn)狀,效率相當?shù)蛿?shù)據(jù)庫與SP是星礎(chǔ),SP的修改血接影響上層建筑。而SP的控制權(quán)在B方,II1B方完全控制業(yè)務(wù)。A方需要做領(lǐng)域業(yè)務(wù),但只能按照B方的文檔來開發(fā),其至都不用知道業(yè)務(wù)。1分析、建議?分析:-主要是項目管理組織的問題。兩個團隊無法協(xié)調(diào)。B方變更帶來A方的變更是必然,問題在于A根木不知道B方的變更。加之雙方?jīng)]有持續(xù)集成,很可能變更了很久才知道,修改的時候B対A也無法給支持.時間長了對能Bfl己也忘了。-技術(shù)上,業(yè)務(wù)的變動必然帶來領(lǐng)域模型的變動。A方其實只是充當一系列存儲過程的外觀。這個系統(tǒng)的領(lǐng)域模型其實是用數(shù)據(jù)咋農(nóng)和存儲過程衣示的。實際上,誰控制了業(yè)務(wù)誰就控制了領(lǐng)域模型。?建議:-兩個團隊組合成一個團隊(熄擬的,相當于遠程協(xié)同開發(fā)).要共7需求任務(wù)列農(nóng)。每次變更需要雙方在匚作前進行協(xié)調(diào),確認各fI需要調(diào)整的地方和需要消耗的時間O?背尿:在ATM和銀行主機之間,通常冇個前置機器.主耍用來做?些預(yù)處理工作,傳統(tǒng)的金融半臺人多采用C來處理?現(xiàn)在想接入網(wǎng)銀,想改用j2ee來架構(gòu),也為以后的sop(標準操作程序)做準備。?問題:在這種實時交易系統(tǒng)里丿M該用什么的架構(gòu)。ATM?便用TCP/IP協(xié)議的,而網(wǎng)銀是http協(xié)議的。如呆web方面采用jsp+struts做頁|何層.Spring+hibenate做業(yè)務(wù)層.ifijATM的接入采用application同樣接入到到Spring的業(yè)務(wù)層。由于交易量較人,必須1分鐘處理1000筆交易(單ATM)?這樣的架構(gòu)是否合適?2分析?卷芻薔養(yǎng)繁靈漩席帶無噺些'作'足否有復(fù)朵的業(yè)務(wù)邏輯?對于這樣實時性?Sprina+hibernate傲實時件祁較刀.Spring會產(chǎn)生人吊"圾.頻歆門動垃圾1審收機制.系統(tǒng)的響應(yīng)就衍種停.Spring的鬲態(tài)代理Proxy對猱足得個潔求佇兮郁公產(chǎn)牛的?1分鐘處理1000生交易.那么?分鐘內(nèi)至少1000個Proxy對象.還仃其他附帶對彖.內(nèi)存可能不展支持.?比較好的笫略:分析系統(tǒng)在應(yīng)付如此人訪問雖F的瓶頸所在。?如果確咲需耍業(yè)務(wù)紹件.《臺機器組成的分布式EJB系統(tǒng)可能更適合這樣的系統(tǒng):ATM機需尖很K的Session存活期.Spring對Session的行理圮默認?次調(diào)用會開啟一個session,調(diào)用結(jié)束時關(guān)閉.血果保扌『一個Session-H:不斷Open.乂占用內(nèi)存.-分鐘內(nèi)如果II常多的ATM*八端接過來.對內(nèi)存消耗太夭?EJB的Stateful對Session町以在現(xiàn)定內(nèi)祚丙逸行替理.?劭吊褰鑼有數(shù)據(jù)庫,只是-個broker,轉(zhuǎn)接者,使用JMS比多線程強,不MySpace?第?代架構(gòu):添:E史多的Web服務(wù)器?MySpaceAi初的系統(tǒng)很小,只仃兩臺Web服務(wù)器(分擔處理用八請求的匸作戰(zhàn))利一個數(shù)據(jù)庫服務(wù)器(所冇數(shù)據(jù)都存儲在這一個地方)。那時使用的是Dell雙CPU、4G內(nèi)存的系統(tǒng)。在早期階段,MySpace呈木是通過添遙更多Web服務(wù)器來対付用戶拡增問題的。但到在2004年早期,在MySpace用戶數(shù)增長到五十刀?后,苴數(shù)據(jù)咋服務(wù)器(2經(jīng)開始?!?奔命了。MySpace?第??代架構(gòu):増加數(shù)據(jù)庫服務(wù)器與增加Web服務(wù)器不同,增加數(shù)據(jù)庫并沒那么簡單。如果?個站點由多個數(shù)據(jù)庫支持,役訂者必須考慮的足,如何在保證數(shù)執(zhí):?致性的詢提卜比多個數(shù)據(jù)庫分押加力。MySpace?MySpace運行?在三個SQLServer數(shù)據(jù)庫服務(wù)器上:一個為主,所有的新數(shù)據(jù)都向它提交,然后由它復(fù)制到其它兩個;另兩個數(shù)據(jù)炸服務(wù)器全力向用戶供給數(shù)據(jù),用以在博客和個人資料欄顯示。這種方式在一段時間內(nèi)效果很好——只要增加數(shù)據(jù)庫服務(wù)器,加人破盤,就可以應(yīng)對用戶數(shù)和訪問量的増加。這一次的數(shù)據(jù)庫架構(gòu)按照垂何分割模式設(shè)計.不同的數(shù)據(jù)庫服務(wù)丁?站點的不同功能.如直錄、用戶資料和博客。垂11分割策略利J:多個數(shù)據(jù)庫分擔訪問壓力,當用八耍求增加新功能時,MySpace只需要投入新的數(shù)據(jù)咋加以支持。在賬八到達力后,MySpace還從行儲設(shè)備與數(shù)據(jù)咋服務(wù)器立接交斤的方式切換到SAN(存儲區(qū)域網(wǎng)絡(luò))—用高帶寬、專門設(shè)計的網(wǎng)絡(luò)將大雖磁盤存儲設(shè)備連接在一起,而數(shù)據(jù)庫連接到SAN。這項措施極人提升了系統(tǒng)件能、正常運行時間和可靠性。然而,當用戶繼續(xù)增加到三白力后,垂曲分割策略也變得難以維持卜去。MySpace?第三代架構(gòu):轉(zhuǎn)到分布式計算架構(gòu)?兒經(jīng)折騰,瑕終,MySpace將口光移到分布式計伴架構(gòu)——它在物理I:分布的眾多服務(wù)器.幣體必須邏輯上等同于單臺機器。拿數(shù)據(jù)序來說,就不能再像過去那樣將應(yīng)用拆分,再以不同數(shù)據(jù)庫分別支持,而必須將整個站點看作個丿衛(wèi)用?,F(xiàn)在.數(shù)據(jù)庫模型里只冇個用八衣.支持博客、個人資料和貝他核心功能的數(shù)據(jù)都存儲在相同數(shù)據(jù)弄。?既然所仃的核心數(shù)據(jù)邏輯上都組織到一個數(shù)據(jù)庫?那么MySpace必須找到新的辦■分擔負荷—顯然,運行在普通破件上的單個數(shù)據(jù)庫服務(wù)器是無能為力的。這次.不再按站點功能和應(yīng)用分割數(shù)據(jù)庫,MySpace幵始將它的用戶按每白力一組分割.然后將各組的全部數(shù)擁分別存入獨立的SQLServer實例。結(jié)果屆MySpace的每臺數(shù)據(jù)序服務(wù)器實際運行兩個SQLServer實例,也就是說每臺服務(wù)閹服務(wù)人約二訂萬用廣。據(jù)MySpace的技術(shù)人員說,以后還可以按照這種模式以更小粒度劃分架構(gòu),從『U優(yōu)化負荷分扣。MySpace?第四代架構(gòu):求助丁?微軟方案2005年早期,賬戶達到九AJj,MySpace廿始用微軟的C#編嗎ASP.NET程序。在收到?定成效后,MySpaceJF始大規(guī)模遷移到ASP.NETo?賬八達到一「力時,MySpace再次逍遇存儲瓶頸問題。SAN的引入解決了早期一止《性能問題,但站點訂前的耍求U經(jīng)開始周期性超越SAN的I/O容靈一一即它從磁盤心儲系統(tǒng)讀寫數(shù)據(jù)的極限速度。MySpace?第五代架構(gòu):増加數(shù)據(jù)緩存層并轉(zhuǎn)到支持64位處理器的SQLServer2005?2005年春天,MySpace賬八達至ij*T*七FT萬,MySpace又丿訂川了新的策略以減輕存儲系統(tǒng)壓力,即增加數(shù)據(jù)緩存層——位于Web服務(wù)器和數(shù)據(jù)庫服務(wù)器2間,其唯?職能足在內(nèi)〃屮建立被頻緊請求數(shù)據(jù)對彖的副木,如此一來,不訪問數(shù)據(jù)庫也町以向Web應(yīng)用供給數(shù)據(jù)。?2005年中期,服務(wù)賬戶數(shù)達到兩「六百萬時,MySpace因為我們對內(nèi)心的渴求向切換到了述處于beta測試的支持64位處理器的SQLServer2005-升級到SQLServer2005和64位WindowsServer2003后,MySpace每臺服務(wù)器配條了32G內(nèi)存,后丁2006年再次將配置標準提升到64GoMySpace?事實上,MySpace的Web服務(wù)器和數(shù)據(jù)府仍然經(jīng)常發(fā)丫超負荷,其用戶頻繁遭遇“意外錯謀”和“站點離線維護”等告示,他們不得不在論壇抱怨…?MySpace1E是在這樣不斷眞構(gòu)站點軟件、數(shù)據(jù)庫和冇?儲系統(tǒng)中,才一步步走到今天。?事實上,MySpace己經(jīng)成功解決了很多系統(tǒng)擴展性問題,其中仃在相円的經(jīng)驗值須我們借鑒。MySpace系統(tǒng)架構(gòu)到R詢?yōu)閕k保持了相對穩(wěn)定,但其技術(shù)人員仍然在為SQLServer支持的同時連接數(shù)等方面繼續(xù)攻堅,盡可能把事情做到最好。Amazon?亞馬遜IM;無疑足電了商務(wù)發(fā)展的世程碑。2000年到現(xiàn)在,ttt界網(wǎng)絡(luò)業(yè)腥風(fēng)血雨。?Amazon曾經(jīng)成為網(wǎng)絡(luò)泡沐的頭號代農(nóng)。如今,當這個“故人的泡沫"用兒經(jīng)易改的數(shù)字把白己變成了堅咲的IT巨人。?丿力覽Amazon發(fā)展過程,其成功經(jīng)驗在于,它創(chuàng)造杵地進行了電/商務(wù)中每環(huán)節(jié)的探索,包扌忑系統(tǒng)、卜臺的建設(shè),程序編寫.網(wǎng)站設(shè)立、配送系統(tǒng)等等方面。用Amazon為家人貝索斯的話說就思“在現(xiàn)實壯界的商丿占垠有力的武器就是地段,地段,地段,而對于我們來說最亟要的三件牛就是技術(shù),技術(shù).技術(shù)?!贝笮途W(wǎng)站開發(fā)時的兒點建議?搭建科學(xué)的系統(tǒng)架構(gòu)?構(gòu)建大型的商業(yè)網(wǎng)站不町能像構(gòu)建泮通的小型網(wǎng)站一樣一蹴而就,需耍從嚴格的軟件工程管理的角度進行認賓觀劃,仃步驟竹邏輯地進行開發(fā)。對于大型網(wǎng)站來說.所采用的技術(shù)涉及面極其廣泛.從碩件到軟件.編程語言.數(shù)據(jù)庫、Web服務(wù)器.防火墻等各個領(lǐng)域都仃了很髙的要求,C經(jīng)不是原來簡單的html靜態(tài)網(wǎng)站所能比擬的。以著名的Yahoo!為例.他們的毎?個大世網(wǎng)站I刑部需要大試相應(yīng)專?業(yè)人員的參與。大型網(wǎng)站開發(fā)時的兒點建議大型網(wǎng)站開發(fā)時的兒點建議?頁而靜態(tài)化?不要小看純舲態(tài)化的HTML頁面!其實在很多情況2HTMLft往意味著“效率最高-消耗最小”,所以我們盡町能使我們的網(wǎng)站上的頁而采用欝態(tài)頁而來實現(xiàn)。們足.對于大昂:內(nèi)容并」1頻繁更新的網(wǎng)站,我們無法全部手動實現(xiàn),因此可以開發(fā)相應(yīng)的口動化更新工貝,例如我們常見的信息發(fā)布系統(tǒng)CMSo像我們經(jīng)常訪問的各個門八站點的新聞頻道,其至他們的其他頻道,都是通過信息發(fā)布系統(tǒng)來符理和實現(xiàn)的。信息發(fā)布系統(tǒng)可以實現(xiàn)最簡單的信息錄入口動生成靜態(tài)頁而,還能具備頻道菅理、權(quán)限管理、門動抓取等功能,對于…個大空網(wǎng)站來說,擁冇-套高效.町管理的CMS是必不町少的。大型網(wǎng)站開發(fā)時的兒點建議?存儲問題?存儲也是一個大問題.一種是小文件的存儲.比如圖片這類:另一種是人文件的存儲,比如捜索引擎的索引。人家知道,対于Web?務(wù)器來說,不管是Apache.IIS還是具他容器,圖片是最消耗資源的.J:足我們伺必要將圖片與頁面進行分離,這是基木上大世網(wǎng)站都會采用的策略,他們都仃獨立的圖片服務(wù)器,甚至很多臺圖片服務(wù)器。這樣的架構(gòu)可以降低提供頁面訪問請求的服務(wù)器系統(tǒng)丿衣力,并IL町以保證系統(tǒng)不會肉為圖片問題而崩潰,在應(yīng)用服務(wù)器和圖片服務(wù)器上,可以進行不同的配置優(yōu)化以保證史高的系統(tǒng)消耗和執(zhí)行效率。大型網(wǎng)站開發(fā)時的兒點建議大型網(wǎng)站開發(fā)時的兒點建議?數(shù)據(jù)庫技術(shù)一集群和庫衣散列對于人型網(wǎng)站|伯言,使用人型的數(shù)據(jù)庫服務(wù)器是必須的爭情。但足,在而對大量訪問的時候,數(shù)據(jù)咋的瓶頸仍然會顯現(xiàn)出來,這時?臺數(shù)據(jù)咋將很快無法滿足應(yīng)川.于是我們需耍借助于數(shù)據(jù)庫集群或者庫衣散列技術(shù)。在數(shù)據(jù)庫集群方面,很多數(shù)據(jù)庫廠商都有自己的解決方案,Orac1°.Sybase^SQLServer智都冇很好的方案,(MvSQL提供了類似的Master/Slave)。因此,使用了什么樣的數(shù)據(jù)庫,就參考相應(yīng)的解決方案來實施即叮。大型網(wǎng)站開發(fā)時的兒點建議?上而捉到的數(shù)據(jù)庫集群由于在架構(gòu).成木、擴張性方而都會受到所采用數(shù)據(jù)用類型的限制,J?是我們需要從應(yīng)用程序的角度來考慮改善系統(tǒng)架構(gòu),其中,庫農(nóng)散列足常丿TJ并11圾冇效的解決方案。我們在應(yīng)用程序中安裝業(yè)務(wù)和應(yīng)用或吿功能模塊將數(shù)據(jù)庫進行分離,不同的模塊對應(yīng)不同的數(shù)據(jù)庫或咅衣,再按照一定的策略對某個頁1何或者功能進行更小的數(shù)據(jù)咋散列.比如川八農(nóng),按照用戶ID進行表散列?這樣就能夠低成木的捉JI系統(tǒng)的性能并且有很好的擴展性。?一個現(xiàn)成的例子足sohou。它的論壇采川了類似的架構(gòu),將論壇的用戶、設(shè)宜、帖子等信息進行數(shù)抑:庫分離,然后對帖子、用八按照板塊和ID進行散列數(shù)據(jù)庫和表,最終可以在配置文件中進行簡中的配置便能止系統(tǒng)隨時增加?臺低成木的數(shù)據(jù)序進來補充系統(tǒng)性能。大型網(wǎng)站開發(fā)時的兒點建議大型網(wǎng)站開發(fā)時的兒點建議?緩存策略不單指低級的緩存技術(shù)相關(guān)的編程,應(yīng)從整個架構(gòu)角度著眼,深入研究Web服務(wù)器、數(shù)據(jù)庫服務(wù)器的各層級的緩沖策略,故肩才足低級的緩沖技術(shù)的編程。不同的服務(wù)器.數(shù)據(jù)咋服務(wù)益及Web編程語苕都仃門C不同的緩沖策略。例如數(shù)執(zhí);庫存儲方面?SQLServe20()6中的主動式緩心機制.Oracle數(shù)據(jù)的cachegroup技術(shù)?Hibernate的緩存包括Session的緩存和SessionFactorv的緩V/;Web服務(wù)器方而,Apache捉供\口(2的緩存模塊,也町以便用外加的Squid模塊進行緩存,這兩種方式均叮以冇效的捉AApache的訪問響應(yīng)能力,IIS緩沖器技術(shù):至Fweb開發(fā)語言,所用緩存技術(shù)更存在很大不同,例如ASP.NET2.o中捉出r兩種緩存應(yīng)用程序數(shù)據(jù)和緩存服務(wù)頁輸出的策略,這兩種緩存技術(shù)相互獨立但不相互排斥,PHP有Pea工的Cache模塊,等等。大型網(wǎng)站開發(fā)時的幾點建議?鏡像鏡像是人型網(wǎng)站常采用的提高性能和數(shù)據(jù)安全性的方式,鏡像的技術(shù)可以解決不同網(wǎng)絡(luò)接入商和地域帶來的用戶訪問速度差異。大型網(wǎng)站開發(fā)時的兒點建議大型網(wǎng)站開發(fā)時的兒點建議大型網(wǎng)站開發(fā)時的兒點建議大型網(wǎng)站開發(fā)時的兒點建議?負載均衡?M他UU4心撤??如薩糾衡將足人型網(wǎng)站解決高負荷訪問和人呈并發(fā)請求采用的終極餉?M他UU4心撤?協(xié)議寒種多樣?有HTTP.FTP.NFS、Telnet或其他協(xié)議。這些業(yè)務(wù)在物理服務(wù)器基礎(chǔ)上.需要復(fù)雜的載量平衡算法?在IP世界,業(yè)務(wù)奚盤山終端TCP或UDP瑞II地址*決處,在第四層交換中的應(yīng)用區(qū)間則山源端和終端IP地址.TCP和UDP端口人同決止。?在蟻件四用交換產(chǎn)品領(lǐng)域.克_些知名的產(chǎn)品可幼加理'比如Alteon.F5象這此產(chǎn)鳥很昂貴,但是物有所尿.能夠捉供鄒帝優(yōu)莠的性能和很乂活的管理能力。Yahoo中國當初接近2000臺服務(wù)猛使用\三四臺Alteon就搞怎To網(wǎng)站問題?半投資和流戰(zhàn)都不足問題的時候,技術(shù)上需耍關(guān)注什么。?例如:SNS網(wǎng)站,半一筆筆投淡砸進去的時候,為流撾上去的時候,困惑在什么地方?除了頁血掙態(tài)化,緩存和代碼女全等問題,討論一下發(fā)展Z后的問題。A公司?A公祠做的是SNS網(wǎng)站.程序是兩個毛頭小伙了做的,II標代指5仁程序幵發(fā)是?帆風(fēng)順.功能也比51牛多了,推廣也是?帆風(fēng)順(A公司有自己獨到的推廣方式。但是卅ALEXA到2W的時候問題出來了?每天卜午4點左右,網(wǎng)站速度慢的驚人,基本上打不開,公司三臺服務(wù)器CPU100%.訃人郁泅的是公司的網(wǎng)紹配罟方式?屈然址雙WEB的集拼?而單獨一臺DB數(shù)據(jù)庫。整個瓶頸在數(shù)拯庫,于足咨詢公司建議做DB的集粘分析了卜數(shù)抑;結(jié)構(gòu):是典型的WEB程庁員的作品.沒有點數(shù)據(jù)庫設(shè)計規(guī)范,功能實現(xiàn)是可以,如果要擴展,不可能.巢群基本匕是不可能的,怎么辦??解決方案:個丿J的時間修改私序,數(shù)據(jù)結(jié)構(gòu)基木上換了?遍前期砸進去的兒十萬打了水飄,用戶走光了。?結(jié)論:WEB2.0詢期設(shè)計的時候不應(yīng)該只考慮功能,應(yīng)該認真考慮一下底y和數(shù)據(jù)結(jié)構(gòu)。?B公司也是做的SNS網(wǎng)站.稈序是3?B公司也是做的SNS網(wǎng)站.稈序是3個人開發(fā)的.CEO是某名牌人學(xué)側(cè)蹲警崩遺,據(jù)丟失,件系統(tǒng)的"晰百I褊廉in、錯,F(xiàn)eo獗融爆能虢感吐血編,絮統(tǒng)架構(gòu)還行.但是…但是系統(tǒng)崩潰了.為什么?系統(tǒng)沒有考慮到用戶有個海量的說法,文件收奇?zhèn)€海量的說法,用八的相冊」片傘妙存貯在WEB服務(wù)器的懷分KL,每木用八個n錄,而打廿桂能益視器,磁盤的IO高的驚人,基木上無暇響應(yīng)。眾所周知,文件系統(tǒng)也是?個數(shù)抓庫,單獨人文件無所謂.側(cè)蹲警崩遺,據(jù)丟失,件系統(tǒng)的"晰百I「廠這址?個卄?常沉重的山血嚟^18?-?
電獨文件很榨易?們是海吊龍件I丨前還沒仃一個軟?澀翳濾鍍?nèi)阱鞔涮届ЪW綽離勰!咲?黠曲羅?測粘履藤翩鶴爐蒙’林涉及了
C公司SqIServer,而微?C公4是?個值得尊敬的公4,CEO技術(shù)出身.和比爾蓋茨樣.k學(xué)木乍業(yè)出來做網(wǎng)絡(luò).01到03年做短信狠賺了?筆.后來做的小項I也小右所成'公司做的是校友方Ifibfn是也偏車myspace風(fēng)格,汴豆個A>jr貳廣方而也卜了大于篤,系緞1、徹的頁因共實很簡也F1F?菜用陥是薇軟俯SqIServer,SqIServer,而微畀呀罩F辻只匸孟盤I紬捕盤留)床hit徧a孩cplt系笛,但是系統(tǒng)還足朋潰r…畀呀罩F辻只匸孟盤I紬捕盤留)床hit徧a孩cplt系笛,但是系統(tǒng)還足朋潰r…高直動注定門苗負妙。?解決方案:現(xiàn)從基木入手.解決抻兒個程序樣能人戶.對數(shù)坷庫采用橫向切割,將用八每10力進行分仏同時對數(shù)扌居咋系統(tǒng)進行腋列,將罷個衣乖is分「同吋進行文件分紳'解決冋題.i人i為修改rsffiis構(gòu).耙戶也比木I:人動了Ko好汪系統(tǒng)沒右岀人錯,損失不m艮人,不過對用廣休驗追成J'很壞的話響。?繇黑鄴關(guān)翻翅良好蹄列考慮’程序應(yīng)該能有配仟D公司?D公司足?個各個方而做的比較好的公司.做了CDN加速;圖片也獨立分出了N個服務(wù)器:數(shù)據(jù)庫不錯(CTO是數(shù)據(jù)庫&家),系統(tǒng)崩潰的原因在于WEB,按道理說WEB很容易做集群的,但是發(fā)現(xiàn)集群并解決不掉問題,他們的集群只允許做4臺的WEB集群,但是4臺都當?shù)袅?。仔細分析,原因估計也是大部分CTO容易犯的個錯謀,或者說他們沒右想到的問題,就是WEB上傳的問題■上傳的時候由于時間的原因,線程是保持鏈接的,300個線程就町以把一個WEBServer當?shù)袅恕?解決方案:這個最簡單,把上傳和其他耗能人八分離出獨立山來。程序改動不是很大,但是之前丫?個月速度滿對用戶體驗的損失也不町小視。(育海量訪問經(jīng)驗的CTO不多)。網(wǎng)站問題?總結(jié):?模仿是容易的,隨便找兒個WEB程序員就能做到,并丨1?很簡單,速度可能還很啟效,因為WEB2.0無非就足跟數(shù)據(jù)炸打交道.會操作數(shù)據(jù)庫就會做。但是真正做大并不容易,I人1為能應(yīng)付海呆訪問的程序并不簡單。兒個建議?一.找DBMS的專家設(shè)計好數(shù)據(jù)庫,很多程序員只知道Sql,不知道分區(qū)視圖,數(shù)據(jù)散列的概念。?二設(shè)計好程序架構(gòu),找個高人指導(dǎo)?下,保持良好的擴展性,考慮節(jié)約成木的話可以找兼職的系統(tǒng)架構(gòu)設(shè)計師做好系統(tǒng)架構(gòu),確定將來的發(fā)展瓶頸。?三.考慮好文件存貯的問題。文件存貯的技術(shù)含駅看起來很低,其實是很高的,可以考慮反向代理的方案。文件存貯出問題了,站點族本上就垮了,RAID的問題和存貯服務(wù)器的問題。兒個建議?四沖國國情考慮,這個最致命,需要考慮電信和網(wǎng)通的問題,CDN并不能解決所有問題。互動性的東西CDN并不是很仃效。最關(guān)鍵的是,現(xiàn)自的雙線機房遇到DDOS攻由基本I:都會當?shù)?原因很簡單,雙線機房都是私人機房.本少就不會仃太高的帶寬,隨便攻擊?下就可以D掉。?仏網(wǎng)絡(luò)延遲的問題,分布式系統(tǒng)必須要考慮網(wǎng)絡(luò)延遲問題,程序茨能容忍0到100秒的數(shù)據(jù)延遲的功能,也就是同步的問題。不耍小看這幾十秒,問題很人的,如果站點右?交4式功能,比如IM,可以想彖一下是個什么結(jié)果。此外,如果系統(tǒng)為了健壯做了緩存和筋態(tài)化的時候,網(wǎng)絡(luò)延遲是災(zāi)難件危害。對TIM,可以用反向代理來解決(成本較高)o對于留言和評論,延遲的問題影響不大。兒個建議?遞總魁気喘褊釦澈麵構(gòu)繆嘟贈務(wù)器’建?七?看好你的程序員,如果沒有很好的激勵措施的話你的程序員很容易寫出敷衍性的代碼,而這個四?能就站將來的人孫程序架構(gòu)定下來后要修改町能就雯費牛勁r。威好feincTo能對你ioo%的忠心.ioo%的負責。?八?文件冋步的問題,這個問遷可備黨得沒有必咯但行一下網(wǎng)通和電值的TTL<明白了,同步要繹纟強恂不能是持續(xù)Mb否則成本會高出N倍.不要期叫能通過你的軟件實現(xiàn).仝給你的程序員吧.把上面的話告訴他他就知道怎么做了。?九?吃〒赧人的問題,不管您跟網(wǎng)警的關(guān)系多好,看好你的用戶,審核好你的東西.一被停機可能就致命。綠壩?在Vista 常被用戶賬戶挖制殺掉。?網(wǎng)站過濾功能,只能在IE下生效,同屬IE內(nèi)核的邀游等不起作用?;鸷?,谷歌這類非IE內(nèi)核瀏覽器不起作用。?四個進程除了以兩個為?組.冇交圧保護(為其中個被結(jié)束,另?個將會垂新運行它)Z外,其他無任何防護。?管理密碼,通過類似于MD5的加密之啟.儲存在WINDOWSsystem32kwpwf.dll文件中?該文件并沒仃受到任何程序的保護,可用記事本就改其中內(nèi)容。例如?把知道密碼的綠壩的WINDOWSsystem32kwpwf.dll文件中的內(nèi)容殳制到不知道密碼的那個綠壩的WINDOWSsystem32kwpwf.dll卜??就和為于改變見幣碼\.可把WINDOWSsystem32kwpwf.dll的內(nèi)容改為“D0970714757783E6CF17B26FB8E2298FS則綠壩的俗理密碼就變回了默認的112233-?成本高。電影資訊/社區(qū)網(wǎng)站?X網(wǎng)站足大利的電影資訊,電影社區(qū),向外提供電影相關(guān)信息服務(wù),以及用戶社|心其中信息服務(wù)部分,其中大部分頁面屬于信息呈現(xiàn)頁,讀取雖比較大幣力級別pv備息上耍山編輯在后臺發(fā)布,更新較少,但其頁面上有大呈的交互性的內(nèi)容,比如評論,收藏列農(nóng),同時許多內(nèi)容允許用戶創(chuàng)造,比如上傳圖片,添加注秤?交互內(nèi)容的數(shù)杲和交互的頻繁程度?都超過了普通的咨詢頁面,這次調(diào)整,準備將其中訪問量最大的幾塊:電影資料頁膨人資料頁勉行弊態(tài)化,如果成功,還將運川到更多的頻道,呈木實現(xiàn)個站靜態(tài)化。優(yōu)化調(diào)整時的問題頁面生成的觸發(fā)條件復(fù)雜-般論壇中的帖了或者blog,更新方式比較單?:匸更足「1]冋復(fù)進彳亍他發(fā)還有少數(shù)的修改動作淀而及網(wǎng)站?個頁血上盂要根抑;不M觸發(fā)條件就仃20務(wù)個,比如光一級菜小:川戶發(fā)仿紺;,刪除圖兒發(fā)仿或者刪除彩片信息,發(fā)布或者修改視頻,后臺修改電彩佇息,都右對能觸發(fā)-一個動作觸發(fā)生成的頁|何町能很多而H+II1L交為-何個動作都會觸發(fā)系列的生成,并11不同動作町能都會涉及同一個頁面或者區(qū)域侖生成.-比如:用戶給一步電影評分,需要生成評分更多頁,評分統(tǒng)計更多幾首頁右側(cè)誰還關(guān)注竝片小區(qū)域,等等?用戶收藏一個影片,乜需耍史新首頁右側(cè)誰還關(guān)注此影片小區(qū)域觸發(fā)頻緊:-雖然不及杲些夏大規(guī)模的網(wǎng)站丄但是由于涉及眾多用戶參與的內(nèi)容,評論■收藏等等,觸發(fā)點欽發(fā)牛?頗度相T頻聯(lián)優(yōu)化調(diào)整時的問題頁Ift1多,結(jié)構(gòu)K雜,空間人用人:-通常,需要牛?成的頁而規(guī)模是這樣粗略估舁的,Rn*P,Rn為資源數(shù)尸
為何個資源的頁面數(shù),所謂資源,對以石做?個卞成屮?位,其頁血暢
町以簡車看做發(fā)布個資源,就需要生成其所冇相關(guān)頁面數(shù)員,比如:
發(fā)布?個blog,就石要T| ?個Blog幾同時述蠱蜜1或者更新個人】:頁的blog列艮算I:個人1頂側(cè)的分類文“數(shù)的小塊,也祖足垠釦0來個員面或者區(qū)域,但是發(fā)布?個電敗真相關(guān)的頁山I至少白50個以匚而且看耐頁面還帶有分頁■一個為息比較卡高的電影,其頁而競町以達到T個以匕空間10?20MMHL資源總數(shù)也不少,電影80000圧仏電彤人雖然P血校少,但足總吊:確冇兒I?萬之"佔計掙態(tài)頁而磁盤占用屋幾冇個G向下兼容計。優(yōu)化調(diào)整時的問題?多臺前端Web-這種結(jié)構(gòu)要求牛成的文件町能需要分布到多個服務(wù)器(另一個方案是放在幾臺專用的機器上,等前端*?。?任務(wù)緊迫-架構(gòu)討論結(jié)束肩,所冇底層框架實現(xiàn),頁而模板幵發(fā),凋試測試,動作的整理,必須接看完成。架構(gòu)必須耍右的特點?綜介考慮上述因素,架構(gòu)必須要冇以下兒個方面的特點-動作可以靈活擴展配胃,某個動作對應(yīng)哪些牛成,應(yīng)該可以配置,并IL可以分組-文件必須有分發(fā)機制-分發(fā)和生成必須獨立出來,并且支持分布式-各種的動作,必須轉(zhuǎn)化為消息,發(fā)送到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年汽油添加劑項目規(guī)劃申請報告
- 林業(yè)開發(fā)土地租賃協(xié)議
- 高校體育教練合同樣本
- 防災(zāi)減災(zāi)彩鋼板施工合同模板
- 辦公樓屋頂綠化改造協(xié)議
- 企業(yè)間合作協(xié)議樣式
- 樓宇智能化聯(lián)合施工合同
- 幼兒園保育員緊急招聘合同
- 總代理緊急決策協(xié)議
- 沙漠治理給水工程安裝協(xié)議
- 明細賬(三欄式)模板
- 正大天虹方矩管鍍鋅方矩管材質(zhì)書
- 2024年山東魯商集團有限公司招聘筆試參考題庫含答案解析
- 妊娠劇吐伴酮癥護理查房課件
- 200#溶劑油安全技術(shù)說明書
- 單位洗車房管理制度
- 廣西壯族自治區(qū)欽州市浦北縣2022-2023學(xué)年七年級上學(xué)期期末英語試題
- 動力學(xué)全套課件
- 廣東省深圳市2022-2023學(xué)年六年級上學(xué)期語文期末試卷(含答案)6
- 2022-2023學(xué)年北京市海淀區(qū)高一(上)期末生物試卷(附答案詳解)
- 河南省出版物經(jīng)營許可證申請登記表
評論
0/150
提交評論