網(wǎng)站制作NEWS
用Java做一個(gè)大流量,高并發(fā)的網(wǎng)站應(yīng)該怎么樣進(jìn)行底層構(gòu)架
架構(gòu)是為了解決糸統(tǒng)中具有共性的問(wèn)題而進(jìn)行定義了減少重復(fù)工作量,且易于維護(hù)和擴(kuò)展的技術(shù)準(zhǔn)則和規(guī)范,它產(chǎn)出物和體現(xiàn)為文檔和基礎(chǔ)代碼框架等。
因此選擇那些框架只是架構(gòu)的一部分,通常是選擇自己善長(zhǎng)的,以及對(duì)新技術(shù)的更新比較及時(shí)的;所以現(xiàn)在的Java框架最多為SpringMVC。
所以你提出的大并發(fā)是一個(gè)問(wèn)題,但先確定它是不是所有模塊都需要解決這個(gè)問(wèn)題。
而大數(shù)據(jù)又是另一個(gè)問(wèn)題,同樣每個(gè)模塊查詢或者計(jì)算都是大數(shù)據(jù)嗎。
綜上所述將問(wèn)題定位并分解,并發(fā)問(wèn)題,要考慮帶寬還是局域網(wǎng),一個(gè)應(yīng)用服務(wù)器最大能支持多少請(qǐng)求連接,你需要多少個(gè),每個(gè)應(yīng)用服務(wù)器是獨(dú)立的模塊呢還是齊群。齊群還要注意的登錄一次還是多次,也就是SSO了,是否注意內(nèi)存共享,如sessionId,是否考慮內(nèi)存相互同步還是通過(guò)分布式的解決等糸列問(wèn)題。還有一個(gè)數(shù)據(jù)庫(kù)有多少連接可以用等跟應(yīng)用服務(wù)器同理。
那么大數(shù)據(jù)呢,要考慮的關(guān)鍵為兩個(gè),是計(jì)算還是查詢,是實(shí)時(shí)的業(yè)務(wù)要求還是可以延時(shí)的,查詢可以是緩存,分表分庫(kù),分區(qū),索引等方式。緩存的時(shí)候要注意你考慮的帶寬是一個(gè)lDC還是多個(gè)IDC,數(shù)據(jù)間怎么同歩是個(gè)分布式問(wèn)題,如果大數(shù)據(jù)計(jì)算問(wèn)題是否考慮一下云計(jì)算解決方案等
因此你所說(shuō)的怎么架構(gòu),如何選框架,這是兩個(gè)問(wèn)題,不是解決你問(wèn)的大數(shù)據(jù)大并發(fā),反而是架構(gòu)工作中的一個(gè)塵灰而已。你也知道架構(gòu)最大的是那里了吧一一分析到分割。
架構(gòu)是很難的工作,作不好,別相信用硬件能解決問(wèn)題。就像使用微軟的 盜版一樣,出了問(wèn)題可能是用N的成本來(lái)解決,N可能是幾萬(wàn),也可能是幾萬(wàn)的N次方。
多重隨機(jī)標(biāo)簽