系統(tǒng)設(shè)計及問題_第1頁
系統(tǒng)設(shè)計及問題_第2頁
系統(tǒng)設(shè)計及問題_第3頁
系統(tǒng)設(shè)計及問題_第4頁
系統(tǒng)設(shè)計及問題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、系統(tǒng)概述。數(shù)據(jù)庫:Oracle,后期可能增加MySQL 支持。Web Server:Tomcat、WebSphere。操作系統(tǒng):Web Server 部署在Linux 上;客戶端Windows Windows 、Windows 瀏覽器:IE6-IE11Chrome、Firefox。系統(tǒng)采用目前比較流行的SpringMVC 框架結(jié)構(gòu),利用Spring 框架的高可配置性,實現(xiàn)程序的靈活配置?,F(xiàn)有系統(tǒng)設(shè)計這要求系統(tǒng)能夠有強(qiáng)大的吞吐能力,支持高并發(fā)、大數(shù)據(jù)量的處理。心問題。系統(tǒng)框架本系統(tǒng)是在 MVC 模式基礎(chǔ)上來進(jìn)行分層,由于本系統(tǒng)開發(fā)的工具是Eclipse,在建立工程時開發(fā)工具就已經(jīng)初步把系統(tǒng)分成M

2、VC 三層結(jié)構(gòu)。M(Model)層:M 層主要是用來存實體Bean 類。這些Bean 類主要包含兩類:PO(Persistant Objec:持久對象,用來與后臺數(shù)據(jù)庫中的表相映射的java對象。 2)V(ValueObjec并將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成客戶表示層所需的數(shù)據(jù);和PO 對象一樣,VO 對象也是僅僅包含數(shù)據(jù)而已,但應(yīng)是抽象出的業(yè)務(wù)對象。V(View)層:V 層在本系統(tǒng)中用來數(shù)據(jù)展示,客戶端主要采用JSP + JQuery + Ajax + JQuery EasyUI組件包技術(shù),通過云桌面的表現(xiàn)形式,實現(xiàn)用戶與系統(tǒng)交互。支持HTML5,客戶端瀏覽器支持IE6-11、Chrome、Firefox

3、。C(Controller)層:C這一層的控制。本系統(tǒng)對CController,ServiceDAOSpringMVC 注解(RequestMapping)實現(xiàn)對客戶端請求的攔截,攔截方法中調(diào)用ServiceService 層采用接口 + 實現(xiàn)的實現(xiàn)方式;通過內(nèi)部對DAO 接口的調(diào)用,來完成對數(shù)據(jù)庫中數(shù)據(jù)的操作;Service 層對外提供Service 接口,通過接口的實現(xiàn)方式的不同來完成業(yè)務(wù)邏輯的變更。DAOServiceDAO 也層采用接口 + 實現(xiàn)的實現(xiàn)方式;DAO 層對外提供 DAO以及實現(xiàn)多數(shù)據(jù)庫的支持。免了各個功能的混淆,方便了程序的開發(fā)、維護(hù)。系統(tǒng)設(shè)計應(yīng)用程序級設(shè)計性能方面:1、

4、對常用的數(shù)據(jù)進(jìn)行緩存,提高性能;但數(shù)據(jù)緩存對內(nèi)存占有量將會有所提升,要根據(jù)實際情況進(jìn)行綜合考慮。2、對數(shù)據(jù)的處理代碼讀寫分離,讀操作采用緩存處理,寫操作采用異步處理。3、對常用的數(shù)據(jù)庫數(shù)據(jù),建立索引表;如果必要,可建立冗余索引表。4、充分利用數(shù)據(jù)庫視圖View、函數(shù)Functio、存儲過程Procedur雜的報表,可以使用存儲過程在數(shù)據(jù)庫端完成數(shù)據(jù)的分析提取。5、盡量減少程序?qū)?shù)據(jù)庫的訪問。對于實時性要求較高的數(shù)據(jù),上下級數(shù)據(jù)采用觸發(fā)器進(jìn) 報教育局,不要求數(shù)據(jù)的實時上級推送。6Server能分?jǐn)偟娇蛻舳藶g覽器中,來分擔(dān)服務(wù)器的壓力。如:客戶端瀏覽器可以通過JS 腳本對服務(wù)端傳來的數(shù)據(jù)進(jìn)行分析、

5、整理,然后顯示到瀏覽器中。7、MemCache:網(wǎng)站程序開發(fā)使用Linux 上提供的Memcachedmemcached內(nèi)存方面:1AOP (Spring范圍,節(jié)省事務(wù)內(nèi)存開支。2、 減少 Session 的使用,盡量使用Cookie。3IOIOIO對系統(tǒng)性能的提升很有必要。4、 代碼檢查,用性能分析工具(如:JProfiler)檢查有沒有內(nèi)存泄露等問題。系統(tǒng)級設(shè)計1、 負(fù)載均衡,集群方案LVS + Nginx + Squid + Apache:異步模式,負(fù)載平衡。LVS:負(fù)載均衡,單點故障,請求轉(zhuǎn)發(fā)。Nginx:異步反相代理, 高并發(fā)量處理,應(yīng)用服務(wù)器負(fù)載平衡。(Apache 提供的mod_

6、proxySquidnginxGZip 壓縮,這樣可優(yōu)化squidSquidSquid,apachediskcachememcache。Squidcpu。Apache:在代理和緩存的規(guī)則上,apache 功能強(qiáng)大。通過Tomcat 的 Session 復(fù)制自動保持 Session 同步,每個Tomcat 保存相同的Session 信息。2、 數(shù)據(jù)庫集群OracleOracle9i 真正應(yīng)用集群)。MySQLMaster/Slave3(方法的調(diào)整,減少事務(wù)的使用范圍。(Oracle 數(shù)據(jù)庫單表記錄超過 明顯下降。實現(xiàn)數(shù)據(jù)庫橫向(集訓(xùn))和縱向(水平分庫,例如:單數(shù)用戶放到 A 數(shù)據(jù)庫,雙數(shù)用戶放到

7、B)的壓力分解。4、圖片服務(wù)器分離Web 服務(wù)器來說,不管是ApacheIIS系統(tǒng)壓力,并且可以保證系統(tǒng)不會因為圖片問題而崩潰。5、緩存網(wǎng)站架構(gòu)和網(wǎng)站開發(fā)中的緩存也是非常重要。架構(gòu)方面的緩存,使用外加的SquidApacheLinux 上提供的 Memcached象等內(nèi)容進(jìn)行緩存。Jsp + Jquery + Jquery EasyUI + Ajax客戶端Jsp + Jquery + Jquery EasyUI + Ajax軟件四層交換LVS軟件四層交換LVSNginx proxySquid反向代理軟件Nginx proxySquid反向代理軟件(數(shù)據(jù)緩存)Squid cacheNginx c

8、acheWeb服務(wù)器架構(gòu)Web服務(wù)(Apache+tomcat 集群負(fù)載均衡)ApacheTomcatTomcatControllerControllerMVC應(yīng)用架構(gòu)ModelView(JSP+JqueryEasyUI)應(yīng)用級緩存數(shù)據(jù)持久層應(yīng)用級緩存數(shù)據(jù)持久層(UCP數(shù)據(jù)庫連接池、SpringJdbc、Spring事物機(jī)制)頁面緩存(OSCache)數(shù)據(jù)緩存(Memcached)隊列服務(wù)(Redis)數(shù)據(jù)庫集群Oracle數(shù)據(jù)庫集群OracleMySQL文件共享NFSHDFS系統(tǒng)整體架構(gòu)上圖闡述了本系統(tǒng)所采用的基本架構(gòu),可以從以下幾點進(jìn)行說明:1LVSNginxApacheTomcatNgi

9、nxTomcat處理。2Nginx squid Squid 只緩存無壓縮版本,由nginx 執(zhí)行GZipsquid緩存容量。3Apache Tomcat 做集群(塊。Session TomcatSessionSessionTomcatSession Tomcat Down 全的負(fù)載均衡。缺點:此架構(gòu)配置相對復(fù)雜,對每服務(wù)服務(wù)器內(nèi)存消耗高。4Memcachedmemcached實例的簡便性讓您可以使用多個機(jī)器上的多余RAM 來提高您緩存的整體大小。總結(jié):將nginx 再放在Squid 的前面,構(gòu)成 nginx+Squid+Apachenginxproxy 模塊轉(zhuǎn)發(fā)給Squid,如果 Squid

10、中有該請求的內(nèi)容且沒有過期,則直接返回給nginxApache 中WebnginxSquidWebnginx以上是現(xiàn)有系統(tǒng)基本設(shè)計思路,這種設(shè)計存在什么問題或者哪些不足?請夏老師能夠幫忙指正一下。需要解決的問題1、 由于本系統(tǒng)的數(shù)據(jù)量非常龐大,可能產(chǎn)生 1T 或者幾T,甚至更多的數(shù)據(jù)量;大數(shù)據(jù)處理方面經(jīng)驗不足是主要問題。主要問題集中在以下幾個方面:怎樣能降低多表(大表)關(guān)聯(lián)查詢、統(tǒng)計造成的性能下降的問題?本系統(tǒng)主要使用Oracle數(shù)據(jù)庫(后期可能提供MySQL的支持Oracle優(yōu)化配置方面存在經(jīng)驗不足的問題。關(guān)鍵數(shù)據(jù)發(fā)生變更時都需要保存當(dāng)時的時間54級排名、班級積分等,只能通過 4 月份時班級的學(xué)生快照進(jìn)行計算獲得,而不能通過當(dāng)前的班級學(xué)生計算得到。這種問題有什么好的解決辦法嗎?2用這種情況下如何保證用戶登錄一個系統(tǒng)后,其他子系統(tǒng)不會被其他人員登錄。3、 現(xiàn)在系統(tǒng)的部署方式是以

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論