guzz是一套用來解決ORM、多數(shù)據(jù)源管理、以及通用數(shù)據(jù)計算的數(shù)據(jù)層框架,為系統(tǒng)在數(shù)據(jù)層的設計提供一站式解決方案。guzz可以看作是 ibatis/hibernate的一大的延伸,并可以取代這2個東西。
guzz主要功能與特點:
- 現(xiàn)代大規(guī)模系統(tǒng)設計,技術上吸收了ibatis/hibernate的優(yōu)點
- 支持像hibernate一樣的對象化持久、映射和方便的增刪改查
- 支持像ibatis一樣,讓dba參與sql設計的復雜數(shù)據(jù)庫操作和優(yōu)化
- 支持在線加載與調試SQL。按照應用策略,從文件/數(shù)據(jù)庫/Web Service等途徑,動態(tài)提取與使用SQL語句(Dynamic SQL)
- 支持應用程序使用大量的數(shù)據(jù)庫和主從讀寫分離
- 支持超越范式的特殊關聯(lián)、非結構化數(shù)據(jù)等異構資源的統(tǒng)一管理
- 支持數(shù)據(jù)表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
- 支持1張表按照業(yè)務規(guī)則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
- 支持組件化服務(Service),以及服務間依賴,幫助構建企業(yè)/項目實施基礎平臺
- 提供面向對象的數(shù)據(jù)庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發(fā)與部署
- 支持配置管理服務器,可以使用一套軟件系統(tǒng)對所有應用程序的配置進行統(tǒng)一管理
項目地址:http://code.google.com/p/guzz/
文檔:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6
下載:http://code.google.com/p/guzz/downloads/list
guzz 1.2.9 build20101021 更新介紹:
增強服務,支持服務間相互依賴
服務在配置時,通過dependsOn屬性設置依賴的服務,guzz進行IOC注入。例如您將一套通信協(xié)議設計成一個通信服務,當其他服務需要進行通信時,直接依賴通信服務完成遠程調用或數(shù)據(jù)傳送。
為了說明服務的價值與使用方式,guzz設計了一些常用的基礎服務,供測試或者直接使用。使用時,一般只需要幾行代碼,就可以完成本來的一個大模塊。限于篇幅,請參看:http://www.guzzservices.com/category/developer-guide/
guzzservices.com中目前提供的服務包括:可以主動推送修改后配置項的系統(tǒng)配置管理,敏感詞管理與文字過濾服務,以及通過IP查詢地理位置服務。后續(xù)還將增加一些。試一下,就能發(fā)現(xiàn)guzz服務帶來的開發(fā)與維護優(yōu)勢。
服務以及注入文檔:http://code.google.com/p/guzz/wiki/TutorialService?wl=zh-Hans#配置服務:
新增random主鍵生成器(原創(chuàng)):
random主鍵用于解決guid和uuid產生的主鍵在較短時間內比較類似,雖然不會重復,但容易被猜出來的問題。對于某些應用場景,如對外API的key,需要確保無法被猜出,這時就需要random主鍵策略。
random主鍵生成一段隨機字符串,由數(shù)字和小寫字母組成。隨機串長度默認為32,可以通過length屬性進行調整。
其他:
1. 修復了一些bug;
2. 完成英文版文檔翻譯。
下一個build更新計劃:
|