<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 企業(yè)應用系統(tǒng)架構(gòu)優(yōu)化方法

    時間:2024-09-20 16:40:40 系統(tǒng)架構(gòu)師 我要投稿
    • 相關(guān)推薦

    企業(yè)應用系統(tǒng)架構(gòu)優(yōu)化方法

      系統(tǒng)優(yōu)化是一個全面而復雜的工作,很難通過某一方面的提升而獲得很好的效果,也很難在一朝一夕完成系統(tǒng)的全面優(yōu)化,每個系統(tǒng)都有其特性,需要綜合分析綜合考慮才能獲得比較好的效果。 小編下面為大家整理了一些企業(yè)應用系統(tǒng)架構(gòu)優(yōu)化的方法,歡迎閱讀參考:

      1 實現(xiàn)動靜分離

      所謂“動靜”分離,就是將靜態(tài)資源如圖片、CSS、Js等和動態(tài)資源如JSP、Servlet等進行分開的處理,通過使用不同的服務器,從而加快頁面的響應速度,這是目前互聯(lián)網(wǎng)應用最常用的方式之一,但是在企業(yè)應用端相對應用較少。

      動靜分離至少有兩個方面的好處,一是提高了靜態(tài)資源的處理速度,因為應用服務器處理靜態(tài)資源的速度—般都不如專業(yè)的web服務器,第二個好處就是減少了應用服務器的負擔,應用服務器專注于處理動態(tài)請求,這對系統(tǒng)的穩(wěn)定運行是有很大的幫助的。

      要實現(xiàn)動靜分離,有兩種方式,一種是在加載靜態(tài)資源的HTML語言中,將地址指定到不同的IP/域名上,實現(xiàn)徹底的分離。這種方式需要在設計之初進行考慮,并不適合優(yōu)化項目,因為這種修改會產(chǎn)生很大的工作量。第二種方式是通過分發(fā)器,攔截對靜態(tài)資源的訪問,將動態(tài)資源轉(zhuǎn)發(fā)給后端的應用服務器,實現(xiàn)動靜分離。這種方式的好處是不需要改動現(xiàn)有的代碼,僅需要做部署方式故調(diào)整,增加web服務器進行靜態(tài)資源的處理。示意圖如下:

      目前轉(zhuǎn)發(fā)器比較多,既有老牌的Apache Web Server、有性能卓越的Zeus,也有目前如日中天的Nainx,不同的項目可以按照各自的需求進行選擇。

      2 使用緩存技術(shù)

      緩存技術(shù)是巨型項目、超大型項目中最重要的技術(shù),范圍也比較廣,從前端的頁面、應用中的數(shù)據(jù)、數(shù)據(jù)庫本身等均可以進行緩存,每個方面使用的技術(shù)也千差萬別。使用緩存可以帶來兩個方面的好處,一是緩存的數(shù)據(jù)可以被高速加載,從內(nèi)存中讀取數(shù)據(jù)比通過數(shù)據(jù)庫或磁盤讀取具有更好的效率;二是最重要的,減少了數(shù)據(jù)庫服務器的壓力,有利于數(shù)據(jù)庫的穩(wěn)定,數(shù)據(jù)庫可以使用更多的資源進行查詢、統(tǒng)計等工作,有利于提高系統(tǒng)的整體運行速度。對于大中型應用而言,應用中的數(shù)據(jù)緩存和數(shù)據(jù)庫端的緩存是應該被考慮的。數(shù)據(jù)庫端的緩存在本文數(shù)據(jù)庫章節(jié)中進行描述,本節(jié)描述應用中數(shù)據(jù)的緩存。

      要使用緩存,首先需要明確緩存的內(nèi)容。一般優(yōu)化項目不建議做全部數(shù)據(jù)緩存,或者使用內(nèi)存數(shù)據(jù)庫之類的技術(shù),這種修改工作量巨大,由此帶來的安全性、穩(wěn)定性、數(shù)據(jù)的一致性都可能存在較大的隱患。所以,緩存的內(nèi)容需要有所選擇,一般的說,應該根據(jù)數(shù)據(jù)的數(shù)據(jù)量、被讀取的次數(shù)、增加/更新頻率進行選擇。如果數(shù)據(jù)較少、增加/更新頻率非常低,那么應該考慮直接緩存在應用服務器端,只有對于重要性較高、讀取次數(shù)較多、增加/更新頻率相對適中的數(shù)據(jù),才適合使用獨立緩存。   確定緩存的內(nèi)容之后,就應該確定緩存的方式。對于緩存于應用服務器端的資源,一般選擇KEY-ALUE(OBJECT)進行緩存。對于獨立緩存,其內(nèi)容也KEY-VALUE的格式進行存儲(如果使用內(nèi)存數(shù)據(jù)庫實現(xiàn)緩存,那么存儲的就是與數(shù)據(jù)庫相同的信息),VALUE可以選擇SON或者Java Object,其中JSON占用空間較少,讀取的網(wǎng)絡流量較少,讀取之后需要進行轉(zhuǎn)換為Java對象;JavaXCN占用空間較大,讀取的網(wǎng)絡流量會較多,讀取之后無需進行轉(zhuǎn)化(前提是要求該對象已經(jīng)系列化),不同系統(tǒng)可以各自特點進行選擇。

      對于獨立緩存,接下來的工作是選擇緩存服務器,緩存服務器選擇需要具有一定的原則:是否滿足已經(jīng)確定的緩存方式、對操作系統(tǒng)要求如何、穩(wěn)定性如何、是否支持分布式、是否支持多節(jié)點熱備、客戶端(即JAVA調(diào)用接口)接口是否支持漂移(一個節(jié)點崩潰是否能轉(zhuǎn)移到另外的節(jié)點)、客戶端是否高效等等。從目前業(yè)界來看,memcached、redis都是應用比較廣泛的緩存服務器。

      選擇完緩存服務器之后,就需要對系統(tǒng)的代碼進行一定的改造。改造的內(nèi)容就是將通過數(shù)據(jù)庫讀取的信息改為從緩存服務器獲得,而對數(shù)據(jù)的保存、修改、刪除操作,既要操作數(shù)據(jù)庫上的數(shù)據(jù),也需要對緩存服務器的信息進行更新,如下圖所示:

      由于是對系統(tǒng)的優(yōu)化,那么系統(tǒng)中已經(jīng)具有很多數(shù)據(jù)且并未進入緩存,因此還需要將緩存服務器中的數(shù)據(jù)進行初始化。有兩種方式來進行,一種方式是直接將數(shù)據(jù)庫中的數(shù)據(jù)一次性加載到緩存服務器,另外一種方式是在修改Load數(shù)據(jù)的方式,先從緩存服務器獲取,如果沒有,則從數(shù)據(jù)庫獲取,然后同步到緩存服務器上。對于優(yōu)化項目,建議使用第二種方式。第二種方式一個額外的好處就是當緩存服務器全部不可用時,系統(tǒng)也能提供完整的服務。

      3 使用異步日志記錄

      對于企業(yè)應用而言,對用戶的操作的記錄是很重要的,在系統(tǒng)出現(xiàn)某些問題的時候,可以通過日志進行數(shù)據(jù)恢復。一般系統(tǒng)要么沒有進行記錄,要么使用數(shù)據(jù)庫進行同步記錄。這部分數(shù)據(jù)會比較龐大,少則百萬級,多則數(shù)億,并且隨著使用量的增加而逐漸增加。這些表屬于使用率最高的表之一,在這些表上進行經(jīng)常性數(shù)據(jù)插入,有可能會變成系統(tǒng)的噩夢。

      為了解決這個問題,引入異步日志記錄,是較為理想的選擇。通過在web容器中增加過濾器,攔截用戶的請求,然后將用戶的請求和表單數(shù)據(jù)封裝為JSON格式的數(shù)據(jù),采用異步方式發(fā)送到NoSQL數(shù)據(jù)庫,需要恢復的時候,通過對JSON數(shù)據(jù)進行還原。這種方式有如下好處:

      1)不需要改動現(xiàn)有代碼而進行了用戶操作記錄;

      2)由于采用異步模式,幾乎不會增加用戶操作的時間;

      3)采用NoSQL+JSON存儲,不用為每一類操作特別設置特定的表結(jié)構(gòu),修改簡單。

      目前的NoSQL數(shù)據(jù)庫也逐漸顯露頭角,根據(jù)DB Engines在今年10月發(fā)布的數(shù)據(jù)庫排名中,MongoDB的NoSQL服務器已經(jīng)躍居第七位,因此NoSQL服務器目前推薦使用MongoDB。

    【企業(yè)應用系統(tǒng)架構(gòu)優(yōu)化方法】相關(guān)文章:

    系統(tǒng)架構(gòu)設計師:優(yōu)化顯示速度01-11

    構(gòu)建生產(chǎn)結(jié)構(gòu)優(yōu)化系統(tǒng)的方法07-31

    存儲架構(gòu)體系發(fā)展在電信支撐系統(tǒng)中的應用09-22

    企業(yè)oa系統(tǒng)核心應用12-28

    企業(yè)網(wǎng)站SEO優(yōu)化方法08-28

    企業(yè)大規(guī)模系統(tǒng)整合架構(gòu)如何選型10-27

    企業(yè)網(wǎng)站的優(yōu)化和推廣方法06-25

    如何搭建系統(tǒng)CSS架構(gòu)12-31

    企業(yè)信息系統(tǒng)應用論文01-22

    系統(tǒng)架構(gòu)設計模式大全08-22

    主站蜘蛛池模板: 国产精品成人69XXX免费视频| 久久99国产精品久久99果冻传媒 | 成人国产精品一区二区视频 | 国产91在线精品| 精品久久久久久亚洲精品| 国产精品一二二区| 91无码人妻精品一区二区三区L| 国产在线精品一区二区不卡麻豆| 日韩精品一二三四区| 亚洲AV无码成人精品区天堂| 精品久久久久久亚洲精品| 午夜精品久久久内射近拍高清| 国产精品亚洲玖玖玖在线观看| 亚洲精品无码不卡在线播HE| 国产精品视频网站| 久久久久女人精品毛片| 2021年精品国产福利在线| 2022国产精品自产拍在线观看| 99爱在线视频这里只有精品| 2022国产精品不卡a| 国内精品久久久久影院一蜜桃| 亚洲精品无码不卡在线播放HE| 热RE99久久精品国产66热| 69久久精品无码一区二区| 日产精品一线二线三线芒果| 亚洲精品综合一二三区在线| 欧美精品一区二区在线精品| 国内精品久久久久久久亚洲| 国产精品成人国产乱一区| 国产成人精品综合在线观看| 97久久精品人人做人人爽| 国产精品成人观看视频| 国产综合免费精品久久久| 久久亚洲中文字幕精品一区四| jizzjizz国产精品久久| 东京热TOKYO综合久久精品| 久久国产精品99国产精| 精品人妻中文字幕有码在线 | 中文字幕精品亚洲无线码二区 | 亚洲国产小视频精品久久久三级| 久久青青草原精品影院|