在javaeye上看到關于sna的一些討論,于是對sna很有好奇心,但是google了半天也沒有搜索到java webapp中關于sna的開源項目。
于是結合和同學交流之后,動手寫了幾個java文件,通過過濾器對HttpSession的包裝,實現java web應用的sna架構。
使用 snafilter之后,即使web服務器掛了,只要用戶還能訪問其它web服務器,則可以照常維持session。
代碼很簡單,但是想到sf上面沒有相關的東西,于是昨晚快睡覺的時候就去申請了一個項目,
剛才登錄sf的時候,沒想到今天就已經被批準了:)
我把代碼整理一下之后,就把它傳到sf上來:)
這個項目的名稱是:snafilter。
英文簡介是:?snafilter is a J2EE servlet filter which wraped HttpSession to supports share nothing architecture 。
這句說明是仿照另外一個開源過濾器(
http://pjl-comp-filter.sourceforge.net/)改寫的。
項目的地址是:
http://sourceforge.net/projects/snafilter目前實現的snafilter是,sna會話id基于cookie,使用Memcached Server存放sna信息。
通過snafilter可以避免session復制的消耗,而且不需要黏性會話的配置,就可以使得多個servlet容器(可以同時包含不同的servlet容器,比如tomcat和resin同時使用)可以結合在一起實現類似failover的效果。
基本上可以隨時重起tomcat而不影響客戶端用戶:)
在發布第一個版本之后,打算再加入其它的一些特性,歡迎大家交流意見。
ps1:我不太會使用sf的一些功能,歡迎大家分享經驗。
ps2:前段時間向tomcat反映的一個小意見,被新版本的tomcat采納了,很開心:)
http://tomcat.apache.org/tomcat-5.5-doc/changelog.html39674: Support JRockit JVM in service.bat script, as suggested by lizongbo. (yoavs)
(
http://issues.apache.org/bugzilla/show_bug.cgi?id=39674)
現在深刻體會到我的英語真爛,以后得多鍛煉英語了:)