1、java開發大型網站(流量大,數據大(上萬G數據))用什麼架構?
分著說,前後台分開。
1、前端使用輕便的方式,servlet/jsp/jstl,使用jdbc或者能控制sql的ORM,不過坦白說用哪個都沒有SQL快,雖然hibernate也能控制sql生成,不會用。
2、前台要分析好,哪些是實時數據,哪些不是,對於那些不適實效很高的,用好緩存。有些東西可以採用生成靜態頁面的方式。
3、後台隨便了,SSH,因為後台操作不是很頻繁。但是如果有導數據,10萬級導入,還是用jdbc。
4、如果是網站,不是什麼重要的業務系統,資料庫設計以快為主,表裡面多冗餘一些外鍵欄位,讓查詢最簡化。
這個軟體方面,還有硬體架構,那更復雜,這里就不說了,畢竟不專業。
2、大型網站架構模式有哪些
1.分布式
對於大型網站,分層和分割的一個主要目的是為了切分後的模塊便於分布式部署,即將不同模塊部署在不同的伺服器上,通過遠程調用協同工作。分布式意味著可以使用更多的計算機完成同樣的功能,計算機越多,CPU、內存、存儲資源也就越多,能夠處理的並發訪問和數據量就越大,進而能夠為更多的用戶提供服務。
2.分層
分層是企業應用系統中最常見的一種架構模式,將系統在橫向維度上切分成幾個部分,每個部分負責一部分相對比較單一的職責,然後通過上層對下層的依賴和調用組成一個完整的系統。
分層結構在計算機世界中無處不在,網路的7層通信協議是一種分層結構;計算機硬體、操作系統、應用軟體也可以看作是一種分層結構。在大型網站架構中也採用分層結構,將網站軟體系統分為應用層、服務層、數據層。
3.分割
如果說分層是將軟體在橫向方面進行切分,那麼分割就是在縱向方面對軟體進行切分。
網站越大,功能越復雜,服務和數據處理的種類也越多,將這些不同的功能和服務分割開來,包裝成高內聚低耦合的模塊單元,一方面有助於軟體的開發和維護;另一方面,便於不同模塊的分布式部署,提高網站的並發處理能力和功能擴展能力。
4.集群
使用分布式雖然已經將分層和分割後的模塊獨立部署,但是對於用戶訪問集中的模塊(比如網站的首頁),還需要將獨立部署的伺服器集群化,即多台伺服器部署相同應用構成一個集群,通過負載均衡設備共同對外提供服務。
5.緩存
緩存就是將數據存放在距離計算最近的位置以加快處理速度。緩存是改善軟體性能的第一手段,現代CPU越來越快的一個重要因素就是使用了更多的緩存,在復雜的軟體設計中,緩存幾乎無處不在。大型網站架構設計在很多方面都使用了緩存設計。
6.非同步
計算機軟體發展的一個重要目標和驅動力是降低軟體耦合性。事物之間直接關系越少,就越少被彼此影響,越可以獨立發展。大型網站架構中,系統解耦合的手段除了前面提到的分層、分割、分布等,還有一個重要手段是非同步,業務之間的消息傳遞不是同步調用,而是將一個業務操作分成多個階段,每個階段之間通過共享數據的方式非同步執行進行協作。
3、JAVA高吞吐高並發後端架構設計經驗是什麼意思
有些網站並發量比較高,例如:12306,到了春節的時候,訪問量就非常高回了。以前不是經常卡住、答崩潰嗎?
就是因為架構設計的不行。去年好多了。
高吞吐、高並發指的是一種種業務場景,訪問人數很多,同一時刻點擊也很多。
類似的還有雙十一,雙12。
高峰期的時候 涉及大量的讀寫操作,讀取網頁資源、數據,寫入訂單等等。
小型網站可以通過增加伺服器的方法解決,分離應用程序和資料庫,放在兩台伺服器上。
大型的網站涉及的技術就更多了:緩存技術、讀寫分離、分布式部署伺服器、業務拆分、資料庫優化等等。
4、如何評價一個大型網站系統架構設計的好壞?
說說我的看法,對不對的供參考吧!
首先,網站也好、其它信息化系統也好,其系統架構設計都不是拍腦袋來的,都是依據一個出發點設計而來,究其所以,就是需求。而這個需求又是從最初的建設初衷來的,也就是說,按說最後做出來的東西應該滿足建設初衷。
所以,簡言之,有什麼樣的需求就有什麼樣的架構設計。因此,要評價架構設計的好壞,就拿需求來衡量。能滿足需求的架構設計,就是對的。不能滿足,或者不能全面滿足的,如果沒有項目建設上的延期認可或者同意擱置的決定,就是不應該的。
注意:我說的需求,並不僅是針對功能范疇的;也包括性能、可用性、安全等方面。所以說需求是全面的內容。
5、大型java web系統架構該如何設計
其實操作起來不難。
」健壯性「:用現成的流行的框架。大家實踐檢驗過的一定很robust。
」拓展性「:就是說你要對你用的框架很熟,要明白原理,甚至可以自己修改,實現功能。這個要花時間下功夫。
「易維護」:寫好注釋,做好文檔。平時稍微用點心就可以做好。
「版本控制」:這有現成的工具,比如git。
6、從0開始逐步邊開發邊運作一個大型網站,該採用怎樣的技術架構(或者技術路線)?
這樣的跨度肯定會經歷推倒重來的過程,否則一開始就設計一個能擴展到很大規模的網站架構會在初期造成很大的資金和人力負擔。讓開發的負責人給你計算了開發成本,維護成本和開發出來的效果以後你再決定當前階段採用哪一種。顯然一分錢一分貨。
越簡單的時候PHP越有優勢,越復雜JAVA越有優勢,JSP只是JAVA WEB開發中的一項技術,到最後都不一定需要使用。為了不浪費人手,如果你確定將來要往大網站發展一開始就該採用JAVA或.NET,這樣在重新開發時至少能充分利用之前的人員經驗。
該採用怎樣的技術架構不是三兩句話能說清楚的,具體問題具體分析。
再簡單也不建議使用JSP+SERVLET+JAVABEAN
SSH之類的架構本來就是為了簡化開發工作量,提高代碼質量和可維護性而生的。除非追求極致變態的性能的人才會去用servlet,而且實際體驗可能根本幾乎沒差別,只要不把SSH用得太爛。架構復雜了,也不過是在這些主流技術上改改,封裝封裝,自然是使用同一語言比PHP轉JAVA容易太多了。
7、用Java做一個大流量,高並發的網站應該怎麼樣進行底層構架
架構是為了解決糸統中具有共性的問題而進行定義了減少重復工作量,且易於維護和擴展的技術准則和規范,它產出物和體現為文檔和基礎代碼框架等。
因此選擇那些框架只是架構的一部分,通常是選擇自己善長的,以及對新技術的更新比較及時的;所以現在的Java框架最多為SpringMVC。
所以你提出的大並發是一個問題,但先確定它是不是所有模塊都需要解決這個問題。
而大數據又是另一個問題,同樣每個模塊查詢或者計算都是大數據嗎。
綜上所述將問題定位並分解,並發問題,要考慮帶寬還是區域網,一個應用伺服器最大能支持多少請求連接,你需要多少個,每個應用伺服器是獨立的模塊呢還是齊群。齊群還要注意的登錄一次還是多次,也就是SSO了,是否注意內存共享,如sessionId,是否考慮內存相互同步還是通過分布式的解決等糸列問題。還有一個資料庫有多少連接可以用等跟應用伺服器同理。
那麼大數據呢,要考慮的關鍵為兩個,是計算還是查詢,是實時的業務要求還是可以延時的,查詢可以是緩存,分表分庫,分區,索引等方式。緩存的時候要注意你考慮的帶寬是一個lDC還是多個IDC,數據間怎麼同歩是個分布式問題,如果大數據計算問題是否考慮一下雲計算解決方案等
因此你所說的怎麼架構,如何選框架,這是兩個問題,不是解決你問的大數據大並發,反而是架構工作中的一個塵灰而已。你也知道架構最大的是那裡了吧一一分析到分割。
架構是很難的工作,作不好,別相信用硬體能解決問題。就像使用微軟的 盜版一樣,出了問題可能是用N的成本來解決,N可能是幾萬,也可能是幾萬的N次方。
8、大型網站架構該怎麼優化設計
你得把你的網站拿出來看了才知道怎麼優化改進。並不是說每個網站的優化思路都一樣。比如,你優化結構之前你得考慮你的長尾關鍵詞要怎麼擴展,長尾詞是不是有規律可循。如果有規律,你可以直接利用程序生成標題,生成內容。要根據你的設計思路去設計網站結構。要是每個網站優化思路都一樣,那為什麼不直接程式化,還拿優化運營來做什麼?自動化多好。但是,這是不現實的。所以,你的提問沒人能幫得到你。
9、如何評價一個大型網站系統架構設計的好壞
評價一個大型網站系統架構設計的好壞
說說我的看法,對不對的供參考吧!
首先,網站也好、其它信息化系統也好,其系統架構設計都不是拍腦袋來的,都是依據一個出發點設計而來,究其所以,就是需求。而這個需求又是從最初的建設初衷來的,也就是說,按說最後做出來的東西應該滿足建設初衷。
所以,簡言之,有什麼樣的需求就有什麼樣的架構設計。因此,要評價架構設計的好壞,就拿需求來衡量。能滿足需求的架構設計,就是對的。不能滿足,或者不能全面滿足的,如果沒有項目建設上的延期認可或者同意擱置的決定,就是不應該的。
注意:我說的需求,並不僅是針對功能范疇的;也包括性能、可用性、安全等方面。所以說需求是全面的內容。
小剛SEO為你解答。