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

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

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

    深藍(lán)色心情

    過來聊聊~~~~

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks

    2012年7月18日 #


    親愛的你萌是不是覺得哀家已經(jīng)放棄了小谷子,不不不,原因只是因?yàn)榘Ъ易罱容^懶木有更新而已。哀家每年總有那么十來個(gè)月是比較懶的~~【望天

    不過,這次更新絕對(duì)有貨!在7月中發(fā),也用來紀(jì)念我家的小桔梗殿下吧。

    guzz 1.3.1 20120712更新介紹:

    大版本更新噢:

    1. 動(dòng)態(tài)拼接SQL終于發(fā)布啦,等的花都謝了。現(xiàn)在,乃可以寫一個(gè)有條件的sql語句,然后在執(zhí)行時(shí),guzz娘會(huì)根據(jù)傳入的參數(shù)構(gòu)造成真正需要的sql語句,然后再綁定參數(shù)執(zhí)行。古娘默認(rèn)是基于Velocity模板實(shí)現(xiàn)的,于是動(dòng)態(tài)SQL拼接的語法、靈活性、易用性、學(xué)習(xí)成本是絕對(duì)足夠的,velocity文檔也是絕對(duì)的豐富和成熟。來仔細(xì)瞧瞧吧:http://code.google.com/p/guzz/wiki/TutorialTemplatedSQLService?wl=zh-Hans

    2. 受夠了一個(gè)一個(gè)的添加域?qū)ο蟮絞uzz.xml中?是解放自己的時(shí)候啦。面對(duì)著大半年來的各種訴求,1.3.1版這次終于良心發(fā)現(xiàn),增加了package-scan功能【淚目】。咱們也可以掃描文件并批量添加business啦。介是這個(gè)腦殘:http://code.google.com/p/guzz/wiki/TutorialHbmPackageScan?wl=zh-Hans

    3. 在SQL中寫時(shí)間串就報(bào)錯(cuò)? 雖然是小功能,但轉(zhuǎn)義字符支持這次還是放出來啦。不害怕SQL注入,一門心思拼接SQL語句的孩紙們請看這里:http://code.google.com/p/guzz/wiki/TutorialGuzzXml?wl=zh-Hans#sql語句中特殊字符轉(zhuǎn)義 。搞死就這么玩吧,勇士們自己被黑了求別黑我家小谷子。

    4. JDNI數(shù)據(jù)源這次也支持啦。感謝波波提供的代碼。借機(jī)也感謝波波提供的其他代碼。http://code.google.com/p/guzz/wiki/TutorialDatasourceProvider?wl=zh-Hans#guzz內(nèi)置連接池實(shí)現(xiàn) 

    5. 其他小功能和bug修正,本宮就不廢話了。親愛的你萌有興趣就自己去對(duì)比SVN代碼吧。


    下面照例復(fù)制下宣傳介紹。

    什么是guzz?

    guzz是一套用于多數(shù)據(jù)庫編程的Java ORM框架,用于替代hibernate和ibatis,實(shí)現(xiàn)在一套系統(tǒng)中輕松使用多臺(tái)數(shù)據(jù)庫。guzz同時(shí)提供通用數(shù)據(jù)計(jì)算和配置管理等,簡化系統(tǒng)復(fù)雜度,為系統(tǒng)在數(shù)據(jù)層的設(shè)計(jì)提供一站式解決方案。

    guzz主要功能與特點(diǎn):
    • 現(xiàn)代大規(guī)模系統(tǒng)設(shè)計(jì),技術(shù)上吸收了ibatis/hibernate的優(yōu)點(diǎn)
    • 支持應(yīng)用程序使用大量的數(shù)據(jù)庫和主從讀寫分離
    • 支持?jǐn)?shù)據(jù)庫表在多組機(jī)器間水平分布(Shard),并自動(dòng)維護(hù)多組機(jī)器之間的分布式事務(wù)
    • 支持1張表按照業(yè)務(wù)規(guī)則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數(shù)據(jù)庫中(VirtualDB)
    • 支持超越范式的特殊關(guān)聯(lián)、非結(jié)構(gòu)化數(shù)據(jù)等異構(gòu)資源POJO模式的統(tǒng)一讀取
    • 支持組件化服務(wù)(SOA)和服務(wù)相互依賴,構(gòu)建企業(yè)/項(xiàng)目實(shí)施基礎(chǔ)平臺(tái)
    • 提供面向?qū)ο蟮臄?shù)據(jù)庫讀取標(biāo)簽(JSP Taglib),加快頁面展示層的快速變更、開發(fā)與部署
    • 對(duì)于大部分場景,支持像hibernate一樣的對(duì)象持久、映射和方便的增刪改查,提高開發(fā)效率
    • 對(duì)于復(fù)雜場景,支持像ibatis一樣,讓DBA參與SQL設(shè)計(jì)的復(fù)雜數(shù)據(jù)庫操作和優(yōu)化,以及SQL在線調(diào)試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調(diào)試SQL。按照應(yīng)用策略,從文件/數(shù)據(jù)庫/Web Service等途徑,動(dòng)態(tài)提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務(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/AboutGuzz?tm=6
    下載:http://code.google.com/p/guzz/downloads/list 
    新浪微博:http://weibo.com/guzzframework
    扣扣群: 36429094  218658794
    Mail List:https://lists.sourceforge.net/lists/listinfo/guzz-mail-users


    posted @ 2012-07-18 08:32 深藍(lán)色心情 閱讀(1554) | 評(píng)論 (0)編輯 收藏

    2012年2月22日 #

    guzz 1.3.0 20120222更新介紹: 

    本次為改進(jìn)型更新: 

    1. 增加了默認(rèn)的多properties配置文件支持。方便配置管理和部署。詳細(xì)介紹[url] http://code.google.com/p/guzz/wiki/TutorialAppProperties?wl=zh-Hans[/url] 

    2. WriteTemplate增加了2個(gè)新接口,方便更好的進(jìn)行sql語句直接操作。 

    3. 修正了打印sql語句的錯(cuò)誤配置方式。 

    什么是guzz? 

    guzz是一套用于多數(shù)據(jù)庫編程的ORM框架,用于替代hibernate和ibatis,實(shí)現(xiàn)在一套系統(tǒng)中輕松使用多臺(tái)數(shù)據(jù)庫。guzz同時(shí)提供通用數(shù)據(jù)計(jì)算和配置管理等,簡化系統(tǒng)復(fù)雜度,為系統(tǒng)在數(shù)據(jù)層的設(shè)計(jì)提供一站式解決方案。

    guzz主要功能與特點(diǎn): 
    • 現(xiàn)代大規(guī)模系統(tǒng)設(shè)計(jì),技術(shù)上吸收了ibatis/hibernate的優(yōu)點(diǎn)
    • 支持應(yīng)用程序使用大量的數(shù)據(jù)庫和主從讀寫分離
    • 支持?jǐn)?shù)據(jù)庫表在多組機(jī)器間水平分布(Shard),并自動(dòng)維護(hù)多組機(jī)器之間的分布式事務(wù)
    • 支持1張表按照業(yè)務(wù)規(guī)則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數(shù)據(jù)庫中(VirtualDB)
    • 支持超越范式的特殊關(guān)聯(lián)、非結(jié)構(gòu)化數(shù)據(jù)等異構(gòu)資源POJO模式的統(tǒng)一讀取
    • 支持組件化服務(wù)(SOA)和服務(wù)相互依賴,構(gòu)建企業(yè)/項(xiàng)目實(shí)施基礎(chǔ)平臺(tái)
    • 提供面向?qū)ο蟮臄?shù)據(jù)庫讀取標(biāo)簽(JSP Taglib),加快頁面展示層的快速變更、開發(fā)與部署
    • 對(duì)于大部分場景,支持像hibernate一樣的對(duì)象持久、映射和方便的增刪改查,提高開發(fā)效率
    • 對(duì)于復(fù)雜場景,支持像ibatis一樣,讓DBA參與SQL設(shè)計(jì)的復(fù)雜數(shù)據(jù)庫操作和優(yōu)化,以及SQL在線調(diào)試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調(diào)試SQL。按照應(yīng)用策略,從文件/數(shù)據(jù)庫/Web Service等途徑,動(dòng)態(tài)提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務(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/AboutGuzz?tm=6 
    下載:http://code.google.com/p/guzz/downloads/list 
    新浪微博:http://weibo.com/guzzframework 
    扣扣群: 36429094 
    Mail List:https://lists.sourceforge.net/lists/listinfo/guzz-mail-users 

    posted @ 2012-02-22 15:29 深藍(lán)色心情 閱讀(1326) | 評(píng)論 (0)編輯 收藏

    2012年1月16日 #

    12306主要就是賣票比較復(fù)雜,注冊登錄之類的功能就不說了。 

    有網(wǎng)友說,12306賣票系統(tǒng)比航空復(fù)雜,因?yàn)橐侄钨u,航空只有起點(diǎn)和終點(diǎn),火車中間還有好多站。不過好消息是,這些站在售票時(shí)是連續(xù)的,不會(huì)出現(xiàn)1張票跳著站買的情況,這樣就可以把一張票拆成N張只有起點(diǎn)和終點(diǎn)的票,和航空售票一樣了。 

    賣票分為兩部分,查詢和購買。12306目前提供了單獨(dú)的查詢,我覺得這個(gè)其實(shí)挺好的,至少有讀寫分離的思想;不過延遲10分鐘的數(shù)據(jù),肯定沒什么人愿意用,大家還是要擠進(jìn)購買系統(tǒng)查詢。單獨(dú)的查詢相當(dāng)于擺設(shè)了,沒有發(fā)揮作用。要讓查詢系統(tǒng)有效,尤其是春運(yùn)期間,延遲應(yīng)該在30秒之內(nèi)。 

    查詢剩余票數(shù)設(shè)計(jì): 

    查詢的特點(diǎn)是按照車次信息或者時(shí)間查,車次和時(shí)間一般都不會(huì)變,因此在設(shè)計(jì)時(shí),可以把頁面分成兩部分。一是匹配的車次列表信息,如北京到上海有哪些車,這個(gè)結(jié)果可以用CDN緩存。車次基本是固定的,緩存設(shè)置為10分鐘應(yīng)該就能滿足需要。不占用負(fù)載。在瀏覽器拿到這個(gè)頁面后,通過異步請求,根據(jù)每趟車的編號(hào)二次查詢剩余票數(shù)等實(shí)時(shí)數(shù)據(jù),合并顯示。 

    車次查詢時(shí),把車次信息分庫存儲(chǔ),并作冗余存儲(chǔ)。好比這個(gè)庫提供所有北京->xxx的查詢,這個(gè)庫提供上海到xxx的查詢,這個(gè)庫提供廣州到xx的查詢,剩下的在一個(gè)大庫中等。車次變化很小,庫可以分散存,而且可以冗余存儲(chǔ)。用內(nèi)存表也行,總數(shù)據(jù)量也不多,性能上沒什么可說的。 

    對(duì)于實(shí)時(shí)票數(shù),確實(shí)是比較困難的,網(wǎng)上很多方案都不對(duì),沒有考慮中間站的問題。剩余票數(shù)緩存并不好做。我的想法是,提前分好票,然后用單獨(dú)的數(shù)據(jù)結(jié)構(gòu)做緩存。 

    例如,對(duì)于G113高鐵,共有8站:北京、德州、濟(jì)南、徐州、南京、常州、蘇州、上海。假設(shè)它有兩千張票,座位啊臥鋪啊啥的。在發(fā)票前,創(chuàng)建新表20120113_G113,然后把2000張票提前插入到表中,每個(gè)票都有一個(gè)本表內(nèi)唯一的數(shù)字編號(hào)。表結(jié)構(gòu)基本上就是:編號(hào)、起始站、終點(diǎn)站、座位類型、車廂、座位號(hào)、乘客姓名、乘客證件號(hào)碼、車票狀態(tài)等實(shí)際業(yè)務(wù)模型需要。初始化時(shí),起點(diǎn)站就是北京(根據(jù)順序存儲(chǔ)為1),終點(diǎn)站就是上海(根據(jù)順序存儲(chǔ)為8),乘客信息空著表示尚未綁定乘客,車票狀態(tài)置為“待出售”。 

    這樣我們要查詢2012年1月13號(hào)G113 濟(jì)南->南京 的剩余票數(shù)時(shí),就查詢20120113_G113起始站編號(hào)大于等于3并且小于等于5,并且狀態(tài)為“待出售”的記錄數(shù)就行了。 

    每張表2000條數(shù)據(jù),對(duì)于非春運(yùn)時(shí)節(jié),性能完全足夠。對(duì)于春運(yùn)時(shí)節(jié),非繁忙路段,性能應(yīng)該也足夠了。對(duì)于春運(yùn)繁忙期,繼續(xù)看下面的。 

    車票出售基本流程: 

    用戶選擇車票并要求購買,系統(tǒng)鎖定票并標(biāo)記狀態(tài)為“鎖定中”,讓用戶付款等。完成后標(biāo)記車票為“已經(jīng)發(fā)售”,并且更新用戶信息到車票的持有人信息字段中。此票不再出售。 

    對(duì)于中間站購票,假設(shè)用戶購買了 濟(jì)南->南京 ,前面流程不變。但完成出票后,將車票起始和終點(diǎn)站改為“濟(jì)南”和“南京”,并且自動(dòng)插入兩張新票可用。一張是“北京->濟(jì)南”,一張是“南京->上海”,通知隊(duì)列更新相關(guān)緩存。相當(dāng)于車票做了自動(dòng)分裂。這樣我們設(shè)計(jì)時(shí)只需要把一張票設(shè)計(jì)為“只有起點(diǎn)和終點(diǎn)”就行了。 

    更高效的剩余票數(shù)查詢設(shè)計(jì): 

    數(shù)據(jù)庫的count操作并不快,因此對(duì)于繁忙季節(jié)的繁忙表,每次都count是鐵定不行的。我想到的一個(gè)辦法是:把上面提到的預(yù)售車票表加載到內(nèi)存中。我們用一個(gè)64位long類型數(shù)字表示一張車票,每趟車的每種座位類型是一個(gè)long數(shù)組。 

    對(duì)于每個(gè)long數(shù)字,前面的32位用來順序存儲(chǔ)32個(gè)車站(假設(shè)一趟車最多有32個(gè)站,沒查過,不行可以放長點(diǎn)),每一位標(biāo)記“車票是否包含此站”。如G113 濟(jì)南到南京的票(車站順序?yàn)榈?到第5站),long數(shù)字的第2到第4位設(shè)置為1,其他前32位設(shè)置為0。后面的32位用來表示車票在車票出售表中的唯一編號(hào)。這樣根據(jù)一個(gè)long類型數(shù)字,我們就能表述一張票的發(fā)售信息了。 

    比如2012年1月13號(hào)G113,有軟臥500張和硬臥1500張。那就需要兩個(gè)數(shù)組。20120113_G113_軟臥 對(duì)應(yīng)一個(gè)長度500的long數(shù)組;20120113_G113_硬臥 對(duì)應(yīng)一個(gè)長度1500的long數(shù)組。存儲(chǔ)所有售票信息。 

    有點(diǎn)類似BitSet的感覺,對(duì)空間要求不高。我們可以做個(gè)系統(tǒng)把所有車票信息按照這種結(jié)構(gòu)加載到內(nèi)存中。對(duì)于實(shí)時(shí)查票,如查詢2012年1月13號(hào)G113車次 濟(jì)南->南京 的余票,就是遍歷兩個(gè)數(shù)組,檢查位數(shù)為2和4的long數(shù)字有多少個(gè),就直接獲得了軟臥和硬臥的剩余票數(shù)。對(duì)于現(xiàn)代計(jì)算機(jī),這點(diǎn)遍歷,時(shí)間是納秒級(jí)的。 

    當(dāng)車票被出售后,從long數(shù)組中刪除票信息,比如先置為-1表示已經(jīng)無效。再用后臺(tái)線程實(shí)際刪除(避免寫沖突,將刪除延遲到重建一個(gè)數(shù)組所消耗的多少納秒內(nèi)剛好沒有寫請求的時(shí)間段中)。如果long數(shù)組長度為0,那就是沒有車票了,直接返回0;用戶再怎么刷,也不會(huì)干擾數(shù)據(jù)庫。 

    更高效的剩余票數(shù)查詢方案的擴(kuò)展性和容錯(cuò)性: 

    本身車票是按照車次劃分的,同時(shí)也有時(shí)間維度,橫向擴(kuò)展不存在任何問題。 

    long數(shù)組可以根據(jù)數(shù)據(jù)庫票務(wù)信息重新構(gòu)造,而且成本不高(一條“select * from xxx where 狀態(tài)=待發(fā)售” SQL語句)。在硬件故障,擴(kuò)容機(jī)器,或是發(fā)現(xiàn)數(shù)據(jù)不一致時(shí),重新構(gòu)造數(shù)組就行。而且可以從后臺(tái)異步做。擴(kuò)展性和容錯(cuò)性都不是問題。 

    售票交易與鎖票: 

    用戶查詢到有票后,填寫要購買的票數(shù),提交。好比購買兩張硬臥,流程如下: 

    1. 在20120113_G113_硬臥long數(shù)組中隨機(jī)獲取符合要求的順序的兩個(gè)long數(shù)字,并將其從數(shù)組中刪除;這個(gè)速度很快,納秒級(jí); 

    2. 根據(jù)long數(shù)字后32位,從數(shù)據(jù)庫中鎖票。如果全部鎖定成功,設(shè)置票為預(yù)定狀態(tài),更新用戶預(yù)定信息,鎖票時(shí)間等。然后記錄日志等其他相關(guān)操作。如果鎖票失敗,說明在納秒級(jí)的時(shí)間內(nèi),票還是有沖突,購票失敗,直接返回報(bào)錯(cuò)。鎖票就是數(shù)據(jù)庫行鎖,sql中的 select for update nowait。 

    3. 頁面提示錯(cuò)誤,或者進(jìn)入下一步交易流程,如網(wǎng)銀支付等。 

    在整個(gè)過程中,我們看到,用戶請求就算集中爆發(fā),事務(wù)的沖突性也能降低到“隨機(jī)獲取的long數(shù)組值剛好一樣 + 在cpu執(zhí)行2000個(gè)for循環(huán)的可能百萬分之一秒內(nèi)剛好同時(shí)提交”。我覺得沖突概率應(yīng)該很低很低。一趟車2000個(gè)車票,1:100比例也就20萬人同時(shí)搶,20萬人同1秒提交cpu也算的過來。而實(shí)際上,怎么可能一秒鐘有20萬人同時(shí)搶一趟車的票哪…… 

    在整個(gè)過程中,大部分請求都被long數(shù)組消耗完后,直接檢查long數(shù)組長度為0,提示無票攔截。進(jìn)入數(shù)據(jù)庫階段的,也就是比實(shí)際的票數(shù)多一點(diǎn)點(diǎn)的有效訂單而已。 

    回票: 

    中間站買票的,在預(yù)定成功后,車票自動(dòng)分裂,分裂的票可以通過隊(duì)列調(diào)度實(shí)時(shí)的回到long數(shù)組中,繼續(xù)服務(wù)。 

    預(yù)定后不買的,可以通過預(yù)定時(shí)間的超時(shí)檢查,后臺(tái)做個(gè)線程,讓票回歸。 

    歡迎討論。 

    微博:http://weibo.com/guzzframework 
    posted @ 2012-01-16 19:48 深藍(lán)色心情 閱讀(2497) | 評(píng)論 (1)編輯 收藏

    2011年12月1日 #


    chrome插件,用于統(tǒng)一提醒來自gmail, yahoo,hotmail,新浪微博。。。等多家主流網(wǎng)站的新郵件或新通知。喜歡的朋友可以加入此項(xiàng)目,繼續(xù)加對(duì)更多網(wǎng)站的支持! 

    http://code.google.com/p/notifyall/ 
    posted @ 2011-12-01 13:16 深藍(lán)色心情 閱讀(2020) | 評(píng)論 (1)編輯 收藏

    2011年11月24日 #

         摘要: guzz是一套用于多數(shù)據(jù)庫編程的ORM框架,實(shí)現(xiàn)在一套系統(tǒng)中輕松使用多臺(tái)數(shù)據(jù)庫。在這次更新中,您可以像配置Hibernate一樣配置Guzz,讓Spring進(jìn)行聲明式的全局事務(wù)管理。Guzz Spring事務(wù)支持標(biāo)準(zhǔn)Spring事務(wù)的所有配置,除了嵌套事務(wù)和JTA。  閱讀全文
    posted @ 2011-11-24 08:43 深藍(lán)色心情 閱讀(1601) | 評(píng)論 (1)編輯 收藏

    2011年11月18日 #

    功能:顯示來自Gmail, Hotmail, Yahoo Mail, Facebook, 新浪微博, 百度, 網(wǎng)易郵箱的未讀郵件和未讀消息數(shù)。并可以在提示框直接點(diǎn)擊打開查看。 

    地址:https://chrome.google.com/webstore/detail/pfpnamijjddnpholapdkhokmgnfkdfpp?hl=zh_CN 


    用于提高工作效率。 

    效果圖: 

     
    posted @ 2011-11-18 11:20 深藍(lán)色心情 閱讀(8755) | 評(píng)論 (7)編輯 收藏

    2011年8月30日 #


    如無意外,本次更新為1.2.9最后一次更新,隨后將進(jìn)行下一個(gè)大版本的開發(fā),設(shè)計(jì)新的功能,歡迎提供想法。 

    guzz 1.2.9 20110830更新介紹: 

    本次更新: 

    1. fix issue 16. 為paramMapping 增加了type屬性,用于直接指定參數(shù)類型,用于在沒有java屬性直接可用的情況下,為參數(shù)設(shè)置強(qiáng)類型。 

    2. fix issue 14, 15。允許基于對(duì)象的數(shù)字類型,如Long, Integer設(shè)置和獲取null值。修正了nullValue屬性設(shè)置后無效的bug。 ”null”作為nullValue的保留字,用于將默認(rèn)值設(shè)置為java null對(duì)象。 

    3. 增加了hbm.xml中新格式的支持。新支持的格式為: 
    <property name="xxx" type="java.lang.Long"> 
                <column name="col_xxxx" precision="18" scale="0" not-null="true"> 
                    <comment>注釋xxxx</comment> 
                </column> 
            </property> 

    4. 增加了對(duì)空sql參數(shù)的檢測。如 select xxx where abc in() xxx;當(dāng)in 操作集合為空時(shí),直接返回查詢結(jié)果為空,避免sql錯(cuò)誤。檢測僅限于基于taglib和SeachExpression對(duì)象化的查詢。 

    5. 修訂了配置管理中,連接池類型參數(shù)無法重復(fù)讀取的bug。 

    6. 工程改成了maven管理。 

    什么是guzz? 

    guzz是一套用于多數(shù)據(jù)庫編程的ORM框架,用于替代hibernate和ibatis,實(shí)現(xiàn)在一套系統(tǒng)中輕松使用多臺(tái)數(shù)據(jù)庫。guzz同時(shí)提供通用數(shù)據(jù)計(jì)算和配置管理等,簡化系統(tǒng)復(fù)雜度,為系統(tǒng)在數(shù)據(jù)層的設(shè)計(jì)提供一站式解決方案。

    guzz主要功能與特點(diǎn): 
    • 現(xiàn)代大規(guī)模系統(tǒng)設(shè)計(jì),技術(shù)上吸收了ibatis/hibernate的優(yōu)點(diǎn)
    • 支持應(yīng)用程序使用大量的數(shù)據(jù)庫和主從讀寫分離
    • 支持?jǐn)?shù)據(jù)庫表在多組機(jī)器間水平分布(Shard),并自動(dòng)維護(hù)多組機(jī)器之間的分布式事務(wù)
    • 支持1張表按照業(yè)務(wù)規(guī)則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數(shù)據(jù)庫中(VirtualDB)
    • 支持超越范式的特殊關(guān)聯(lián)、非結(jié)構(gòu)化數(shù)據(jù)等異構(gòu)資源POJO模式的統(tǒng)一讀取
    • 支持組件化服務(wù)(SOA)和服務(wù)相互依賴,構(gòu)建企業(yè)/項(xiàng)目實(shí)施基礎(chǔ)平臺(tái)
    • 提供面向?qū)ο蟮臄?shù)據(jù)庫讀取標(biāo)簽(JSP Taglib),加快頁面展示層的快速變更、開發(fā)與部署
    • 對(duì)于大部分場景,支持像hibernate一樣的對(duì)象持久、映射和方便的增刪改查,提高開發(fā)效率
    • 對(duì)于復(fù)雜場景,支持像ibatis一樣,讓DBA參與SQL設(shè)計(jì)的復(fù)雜數(shù)據(jù)庫操作和優(yōu)化,以及SQL在線調(diào)試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調(diào)試SQL。按照應(yīng)用策略,從文件/數(shù)據(jù)庫/Web Service等途徑,動(dòng)態(tài)提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務(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 
    posted @ 2011-08-30 17:11 深藍(lán)色心情 閱讀(1811) | 評(píng)論 (1)編輯 收藏

    2011年8月1日 #


    基于分表和自定義表結(jié)構(gòu)的日志系統(tǒng)。真正足夠靈活的,實(shí)現(xiàn)成本較低的通用日志架構(gòu)。 

    新浪微盤下載PDF文檔:http://t.cn/aY8XIT 



    posted @ 2011-08-01 18:35 深藍(lán)色心情 閱讀(2739) | 評(píng)論 (2)編輯 收藏

    2011年7月29日 #


    guzz 1.2.9更新介紹: 

    本次更新: 

    1. 優(yōu)化了批操作接口。增加了默認(rèn)的自動(dòng)提交和清除選項(xiàng),使得調(diào)用者可以連續(xù)插入百萬記錄而不用自己計(jì)數(shù),手工分batchSize提交。默認(rèn)batchSize的大小根據(jù)數(shù)據(jù)庫類型和版本,自動(dòng)選擇性價(jià)比最合適的;當(dāng)然調(diào)用者也可以在程序中修改。 

    2. 新提供Leader服務(wù)接口。Leader接口用于在集群環(huán)境下確認(rèn)自己是不是主機(jī),一個(gè)集群下一般只允許1臺(tái)主機(jī)。新提供的LeaderService僅為接口,開發(fā)者需要根據(jù)自身情況選擇適合自己的實(shí)現(xiàn)。halo-cloud工程實(shí)現(xiàn)了基于zookeeper的Leader服務(wù),代碼:[http://code.google.com/p/halo-cloud/source/browse/trunk/misc/com/guzzservices/version/impl/ZKLeaderElectionServiceImpl.java] 

    什么是guzz? 

    guzz是一套用于多數(shù)據(jù)庫編程的ORM框架,用于替代hibernate和ibatis,實(shí)現(xiàn)在一套系統(tǒng)中輕松使用多臺(tái)數(shù)據(jù)庫。guzz同時(shí)提供通用數(shù)據(jù)計(jì)算和配置管理等,簡化系統(tǒng)復(fù)雜度,為系統(tǒng)在數(shù)據(jù)層的設(shè)計(jì)提供一站式解決方案。

    guzz主要功能與特點(diǎn): 
    • 現(xiàn)代大規(guī)模系統(tǒng)設(shè)計(jì),技術(shù)上吸收了ibatis/hibernate的優(yōu)點(diǎn)
    • 支持應(yīng)用程序使用大量的數(shù)據(jù)庫和主從讀寫分離
    • 支持?jǐn)?shù)據(jù)庫表在多組機(jī)器間水平分布(Shard),并自動(dòng)維護(hù)多組機(jī)器之間的分布式事務(wù)
    • 支持1張表按照業(yè)務(wù)規(guī)則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數(shù)據(jù)庫中(VirtualDB)
    • 支持超越范式的特殊關(guān)聯(lián)、非結(jié)構(gòu)化數(shù)據(jù)等異構(gòu)資源POJO模式的統(tǒng)一讀取
    • 支持組件化服務(wù)(SOA)和服務(wù)相互依賴,構(gòu)建企業(yè)/項(xiàng)目實(shí)施基礎(chǔ)平臺(tái)
    • 提供面向?qū)ο蟮臄?shù)據(jù)庫讀取標(biāo)簽(JSP Taglib),加快頁面展示層的快速變更、開發(fā)與部署
    • 對(duì)于大部分場景,支持像hibernate一樣的對(duì)象持久、映射和方便的增刪改查,提高開發(fā)效率
    • 對(duì)于復(fù)雜場景,支持像ibatis一樣,讓DBA參與SQL設(shè)計(jì)的復(fù)雜數(shù)據(jù)庫操作和優(yōu)化,以及SQL在線調(diào)試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調(diào)試SQL。按照應(yīng)用策略,從文件/數(shù)據(jù)庫/Web Service等途徑,動(dòng)態(tài)提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務(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 

    posted @ 2011-07-29 09:14 深藍(lán)色心情 閱讀(1546) | 評(píng)論 (6)編輯 收藏

    2011年7月7日 #

    halo-cloud介紹 

    halo-cloud是什么? 

    可由1到100臺(tái)機(jī)器組成,并用普通編程方式擴(kuò)展的小型私有云計(jì)算平臺(tái)。 

    halo-cloud有何價(jià)值? 

    不是每個(gè)公司都像google、像淘寶、像新浪微博一樣龐大,需要復(fù)雜的成千上萬臺(tái)機(jī)器組成的大型云計(jì)算平臺(tái),那樣技術(shù)太復(fù)雜,成本太高。 

    更沒有多少中國公司會(huì)使用GAE、Amaze EC之類公共云平臺(tái),那樣網(wǎng)絡(luò)吃不消。 

    對(duì)于普通的公司,100臺(tái)以內(nèi)機(jī)器組成的私有云是最好的選擇。規(guī)模適中、容易開發(fā)、易于維護(hù)。 

    我們對(duì)云不炒作,不報(bào)幻想,只是希望有了他,我在一個(gè)項(xiàng)目中寫過一遍的功能代碼,在以后的項(xiàng)目中可以直接用,不用重復(fù)開發(fā)。我也不需要什么這規(guī)范那規(guī)范,因?yàn)槲覐牟淮蛩汩_放成公共云,夠我的主要項(xiàng)目用,速度快就好。 

    總的來說:我希望我的云是個(gè)云,沒有單點(diǎn)問題;我希望我的云可以節(jié)省我的開發(fā)和維護(hù)成本,基礎(chǔ)功能統(tǒng)統(tǒng)只用寫一遍就可以復(fù)用;我希望我的云速度快,不要有SOAP Web Service之類的問題,當(dāng)我真的需要性能的時(shí)候;我希望我的云能讓現(xiàn)有的團(tuán)隊(duì)來維護(hù)和繼續(xù)開發(fā),不要學(xué)一大堆東西,甚至牽扯到個(gè)人悟性上。 

    這就是halo-cloud誕生的理由。私有的、小型的、簡單的云計(jì)算基礎(chǔ)服務(wù)平臺(tái)。你可以直接使用上面的服務(wù),也可以低成本的在上面開發(fā)自己的新服務(wù)。 

    PS:如果你覺得云這個(gè)名字不爽,就叫他分布式基礎(chǔ)服務(wù)吧。 

    主要更新: 

    1. 新增任務(wù)調(diào)度功能。項(xiàng)目價(jià)值:使用quartz統(tǒng)一實(shí)現(xiàn)調(diào)度,對(duì)于java項(xiàng)目開發(fā)基本不在需要配置調(diào)度;對(duì)于php等不具備任務(wù)功能的語言,自動(dòng)獲取某個(gè)頁面定時(shí)執(zhí)行的新功能。 

    2. 新增郵件發(fā)送功能。項(xiàng)目價(jià)值:對(duì)于項(xiàng)目開發(fā),基本不用在配置重復(fù)的配置郵件服務(wù)器,編寫郵件發(fā)送代碼。只需要調(diào)用一個(gè)API即可。 

    3. 服務(wù)器端增加客戶端感知功能。編寫服務(wù)器端程序時(shí)(服務(wù)提供者),新接口允許提供者獲知當(dāng)前調(diào)用者的IP地址和端口,用于進(jìn)行權(quán)限校驗(yàn)等。 

    詳細(xì)說明:http://code.google.com/p/halo-cloud/wiki/AboutFAQ 

    項(xiàng)目地址:http://code.google.com/p/halo-cloud/ 





    posted @ 2011-07-07 08:43 深藍(lán)色心情 閱讀(1805) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 日本高清免费观看| 国产亚洲精品国产福利在线观看 | 一级看片免费视频囗交| 成年人视频在线观看免费| 亚洲国产精品一区| 女人隐私秘视频黄www免费| 亚洲精品无码久久毛片| 亚洲av乱码中文一区二区三区| 免费看污成人午夜网站| 亚洲综合激情六月婷婷在线观看| 三年片在线观看免费| 亚洲综合在线另类色区奇米| 一级成人a做片免费| 亚洲人成无码久久电影网站| a一级爱做片免费| 亚洲女初尝黑人巨高清| 最新国产乱人伦偷精品免费网站| 亚洲午夜久久久影院| 久别的草原电视剧免费观看| 91久久亚洲国产成人精品性色| 最近高清中文字幕免费| 亚洲伊人久久精品| 国产禁女女网站免费看| 一级做a爱片特黄在线观看免费看| 在线A亚洲老鸭窝天堂| 免费国产成人α片| 亚洲乱码一区二区三区国产精品| 青青青青青青久久久免费观看| 一级做受视频免费是看美女| 久久久久久久综合日本亚洲 | 日本免费一区二区三区 | 成人性生免费视频| 成在线人视频免费视频| 亚洲精品**中文毛片| 免费在线不卡视频| 99爱免费观看视频在线| 免费人人潮人人爽一区二区| 久久亚洲春色中文字幕久久久| 亚洲A∨午夜成人片精品网站| 69av免费观看| 国产综合免费精品久久久|