<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    深藍色心情

    過來聊聊~~~~

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks
    我們主要是web應用,web規模也不能確定,有可能一天幾千萬甚至上億的PV,也有可能根本沒人用。最初設計guzz的目的就是讓大型網站和小型網站一樣設計編寫,因為誰也不知道這個應用上去以后有多少人用,同時解決系統被要求頁面天天改來該去的問題。 

    使用guzz以來的效果: 

    1. 框架性能上沒有看得出的快慢區別。我覺得不會比hibernate和biatis慢,我看過他們的一些代碼,流程挺復雜的。guzz很簡單,整個持久化過程需要轉手的類至少要比這兩個少很多。 

    2. 以前我們用hibernate較多,一般數據庫設計就是一個庫,讀寫全部做。現在在設計時大家腦子里面直接就是分出3個數據庫(可能部署在1臺mysql上)--業務主庫,臨時信息庫,日志庫,然后把表分到不同的庫中。然后數據庫安裝時直接主從安裝,主從使用。雖然看起來庫復雜了,但程序上沒有任何成本代價,基本上已經形成一種設計流程。這種模式感覺可以作為最佳實踐。 

    3. 編程上,一開始開發人員還是建個spring action類 + 在dao和manager中增加需要的方法 + 修改dispatcher-servlet.xml配置映射 + jsp實現view。但現在很多功能都是直接jsp,用taglib直接讀庫,基本上后臺的讀數據庫操作頁面已經看不到action的影子了。java代碼比先前的工程,同樣的功能少了大概60%-70%。 

    4. 我們的系統一般后臺功能比較復雜,以往編輯要改點東西大家都很郁悶。不過現在抵制少了很多,基本上就是改改jsp或者在復制1個新的jsp改改,然后傳到服務器上,一大堆集群機器的重啟工作都免了,無論是開發還是部署都很省事。和php差不多。 

    guzz1.2.7分表和自定義表的應用實例: 

    我們有1套調查系統,使用了這項技術,也是第一個線上測試。每個調查都不太一樣,需要網友填一些東西,需要填什么,填的個數類型都不定。一個調查進行過程中,或者結束后要求對數據進行統計報表。統計的內容可能也包括那些自定義的填空題。 

    在1.2.7之前,我們解決方案是:將所有自定義的調查項,按照key-value生成一個xml字符串,存儲到數據庫大字段中(Mysql text字段)。需要統計時,根據mysql5.1對xml支持的新特性使用ExtraValue函數解析這個xml生成一個新表(create table xxxx select ExtraValue(xx) as a, .....from 主調查記錄表),然后在根據新的xxxx表統計。每次都要手工來弄,非常繁瑣。 

    1.2.7,使用切表和自定義屬性后,現在的解決方案:每次創建投票并建立好自定義調查項(自定義調查項存儲在數據庫中),根據這些自動生成一個mysql create table的語句,創建好需要的表。在配置CustomTableView動態的映射用戶提交的數據存儲到對應的表中。完全自動,后續處理簡化了很多。 

    而且由于整個過程是實時的,以前的過程是手工的,所以很多線上的報表功能也可以開發了。開發也非常簡單,我們用guzz jsp tablib直接讀庫,像操作普通java屬性一樣操作自定義屬性,一個類型的表報1個jsp。特殊調查的特殊報表也就是往服務器上放1個特殊處理的jsp,應用都不用重啟,非常方便。 

    guzz1.2.7分表和自定義表的下一個應用計劃: 

    這是一個計劃,還沒有做,不過我們準備很快就開始做。 

    我們的所有系統對日志都有要求,日志必須記錄!但日志的開發很煩人,全是沒有技術含量的重復工作。我們準備開發一個日志服務,所有系統以后就不用開發日志了,直接使用這個服務。日志服務分為服務器端和客戶端。 

    服務器端: 

    一個標準的java web系統,有日志數據庫,用來存儲所有系統的日志信息,并提供查詢和統計等界面。如果有人需要查日志,就到這個系統來查。 

    服務器端有1個應用數據庫,用來創建和管理授權的應用系統。1個新的應用上線的時候,在這里創建一個應用和他的授權碼,然后錄入他的個性日志字段和數據類型(類似上面提到調查的個性選項),服務器自動在數據庫中給他創建1個日志表,用來存儲這個應用的日志數據。我們準備按季度分表,讓每個日志表1個季度分成1張子表。 

    客戶端: 

    實現一個標準的guzz service,提供日志插入接口 
    Java代碼 
    1. public void log(UserLog log) ;  

    每個系統開發時,將日志服務的jar包放到工程中,并在guzz.xml中聲明此服務,代碼直接調用就OK了。 

    這樣以后就不用為每個系統開發日志管理模塊了。并且還能獲取到統計某一個用戶在所有系統中活動記錄的額外增強(例如我們可以在服務器端將日志記錄兩份,一份按應用系統,一份按操做者記錄)~~ 

    posted on 2010-04-09 14:52 深藍色心情 閱讀(3409) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲av无码一区二区三区天堂古代| 国产亚洲高清不卡在线观看| 亚洲AV综合色区无码二区爱AV| 无码av免费一区二区三区| 中文字幕亚洲综合久久男男| 一级做a爰片久久免费| 亚洲色欲久久久久综合网| **真实毛片免费观看| 亚洲欧洲日产国码久在线观看| 一区二区免费视频| 亚洲综合亚洲国产尤物| 噼里啪啦免费观看高清动漫4| 亚洲?V无码乱码国产精品| 国产亚洲综合精品一区二区三区| 国产精品高清全国免费观看| 爱情岛论坛免费视频| 亚洲毛片免费观看| 亚洲一区在线视频| 永久黄网站色视频免费| 亚洲色图视频在线观看| 四虎1515hh永久久免费| 亚洲欧美成人av在线观看| 免费**毛片在线播放直播 | 亚洲AV无码成人精品区狼人影院| 四虎影在线永久免费观看| 久久久久久av无码免费看大片| 亚洲av中文无码乱人伦在线播放 | 亚洲另类无码专区丝袜| 亚洲av成人一区二区三区在线观看 | 亚洲不卡中文字幕无码| A在线观看免费网站大全| 色偷偷亚洲第一综合网| 亚洲成av人片天堂网| 国产h视频在线观看免费| 人妻仑刮八A级毛片免费看| 亚洲国产精品无码专区| 最近高清中文字幕无吗免费看| 国产综合激情在线亚洲第一页| 亚洲AV永久纯肉无码精品动漫| 毛片免费在线观看网站| 一级黄色毛片免费看|