国产一区二区精品久久_蜜桃狠狠狠狠狠狠狠狠狠_午夜视频精品_激情都市一区二区

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > xmemcached - 開源項目介紹(九)

xmemcached - 開源項目介紹(九)
2010-01-14 23:25:31  作者:  來源:
xmemcached是最近頻繁出現在JavaEye新聞頻道的熱點詞匯,它就是JavaEye的資深會員Dennis開發的基于java nio實現的高性能可擴展的memcached客戶端。

Dennis 在自己實現的一個nio框架 http://code.google.com/p/yanf4j/ 的基礎上實現了xmemcached項目(目前1.1.3是基于yanf4j 0.7.0),xmemcached的序列化機制使用spymemcached的Transcoder并做了部分改造。 因此xmemcached的性能好于目前其他的Java memcached庫。

xmemcached的項目主頁在:http://code.google.com/p/xmemcached/

有關xmemcached的新聞請看:http://www.javaeye.com/news/search?query=Xmemcached


歡迎大家推薦更多開源項目給我們,支持中國的開源項目發展,發站內短信給JavaEye管理員或者發信到webmaster@javaeye.com,謝謝。

xmemcached作者Dennis采訪 Top

JavaEye:Dennis,你可以介紹一下自己為什么要開發xmemcached項目嗎?

Dennis:首先是我在前一家公司有用到memcached,期間我接觸了spymemcached,讀了它的源碼,我對他的設計不是很感冒,它沒有一個比較清晰的網絡層,想改動也比較困難。其次,我那時候剛接觸網絡編程沒多久,也需要一個練手的項目。第三,我對memcached client有一些自己的想法想實現,而spy不提供。

JavaEye:xmemcached主要有哪些特點呢?能簡單介紹一下xmemcached嗎?

Dennis:xmemcached是基于java nio的高性能memcached客戶端, xmemcached主要特性是:

第一:同步API,我覺的異步的API難以使用,同步模型比較利于客戶端編程,并且在memcached協議支持noreply之后,異步API的優勢也沒有了。

其次:xmemcached也是多線程安全的,這一點跟spy一樣。

第三:xmemcached支持JMX監控,支持動態添加、移除memcached節點,這個特性spy暫未支持。

第四:xmemcached支持設置節點的權重,spy也暫未支持(我要確認下,好像最新的支持了)。

第五:xmemcached支持客戶端的數據統計,memcached有提供自身的數據統計,但是客戶端的統計還需要client來做,因為客戶端可能連接多個節點。

第六:就是性能上的優勢了,這個可以看我的測試報告: http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html。另外就是支持全部文本協議和分布,這個是一個client必備的,就不說了。

JavaEye:能詳細比較一下xmemcached項目和其他Java memcached client嗎?xmemcached的優點是什么?性能表現優勢有多少?

Dennis:首先,基于nio這一點,可以在性能上跟傳統基于阻塞io的client拉開差距,官方提供的client的性能是比較糟糕的,并且有隱藏的BUG, 其次,xmemcached有一個特性我想是比較關鍵的,就是對于動態增刪節點的支持,可以做到不停機而動態地擴容, 然后,就是在代碼結構上,我認為相對于spy來說是比較清晰的,借助于yanf4j,將邏輯處理跟網絡的處理拆分的比較清楚。 另外,我想提供JMX支持這一點,是我想出來的:)

JavaEye:xmemcached未來的roadmap是什么?

Dennis:在開始項目時,我并沒有明確的目標,因為那時候更多是自娛自樂。不過最近開始有用戶在真實的項目中使用,因此多了一份責任感。 那么,現在一個比較明確的目標是,提供spy之外的另一個選擇。這本身對spy也有促進:),本來那作者不支持權重的,現在要加入這一特性了。短期目標,1.2版本支持二進制協議,memcached 1.4.0正式發布,二進制協議估計對性能有比較大的影響,需要做評估。長期目標是做一個易于使用的、高性能的java memcached client。

JavaEye:xmemcached項目誕生多長時間了,現在你平均每天花在xmemcached上的時間是多久?

Dennis:沒有每天,一般我晚上有空,并且不煩的情況下就去搗鼓,周末比較多,通常都會在3,4個小時以上。平均下來,我想沒超過一個小時,呵呵。

JavaEye:這個項目從什么時候開始,到現在幾年了?目前xmecached是你一個人開發?還是有其他contributor?

Dennis:這個項目開始于09年初,具體時間沒印象了,現在就我一個開發者。我很歡迎有興趣的朋友加入。

JavaEye:通過開發xmemcached,你對中國的軟件開發人員做開源項目有什么感受和想法嗎?

Dennis:事實上,我從不敢宣稱自己是在做開源項目,你看我發的新聞,blog,從來沒有提供開源這兩個字。我更多認為是在分享,分享我學習到的東西。而我學習到的東西,又是來源于眾多的開源項目。(JavaEye:太謙虛了。)認為不要一開始就抱一個做什么的想法,這個項目一開始更多是自娛自樂,真不啥謙虛。對開源,在路上想了下,我覺的對于我這樣的個人開發者,其實有很多人是有想法的,想做些東西,就是缺乏行動,那么如果一開始不把目標定的那么高,那么明確,先從自娛自樂的目的開始,會更容易堅持下去。開源并沒有成為我的負擔,我覺的對我個人是一個促進,你做出來的東西有人要用,你就要負責了。如果說負擔,那是談不上,我是因為有樂趣在里面才做他。

JavaEye:作為一個JavaEye的老會員,你對JavaEye網站有什么建議和意見嗎?


Dennis:我覺的博客有很大的改進余地,內容上是最主要的問題,真正有價值的文章很難被頂上來,而標題黨和噱頭的文章就很熱門。功能,主要是博客的樣式可以改進,確實不怎么好看,呵呵。我建議可以分區,將八卦和生活類與技術類內容分開。

JavaEye:是的,我們有對博客內容分類的開發計劃,未來會實現,非常感謝您的建議,非常感謝您今天接受我們的采訪。謝謝。

Dennis介紹 Top

Dennis是Xmemcached 項目的創立者 dennis_zane,他做了大概4年JAVA開發,熟悉并發和網絡,對技術很有熱情,目前在國內著名大型網絡公司就職。他剛做了爸爸,有一個6個半月大的兒子,他的頭像就是他的可愛兒子。除了技術,他還是國際米蘭球迷,喜歡看電影和打游戲,自稱宅男。 

dennis_zane


訪問 dennis_zane 的博客:http://dennis-zane.javaeye.com/
 

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢