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