您好,登錄后才能下訂單哦!
這篇文章給大家介紹XMemcached有什么特點(diǎn)以及在哪些方面還需要改進(jìn),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
XMemcached是一個(gè)基于Javanio的memcached客戶端。它線程安全,結(jié)構(gòu)簡(jiǎn)單,支持所有的memcached文本協(xié)議和二進(jìn)制協(xié)議,并且有比較優(yōu)異的性能表現(xiàn)。它還支持一些高級(jí)特性,如JMX、動(dòng)態(tài)增刪節(jié)點(diǎn)、客戶端統(tǒng)計(jì)以及nio連接池等。
XMemcached有什么特點(diǎn)
與同是基于javanio的spymemcached相比來說,XMemcached具有以下特點(diǎn):
1)API模型是同步,異步的API使用比較繁瑣,在memcached協(xié)議加入noreply后,異步模型的存在價(jià)值就更可疑了;
2)支持設(shè)置memcached的節(jié)點(diǎn)權(quán)重;
3)支持動(dòng)態(tài)增刪節(jié)點(diǎn),可以通過編程或者JMX;
4)支持nio連接池,并且允許讓用戶對(duì)網(wǎng)絡(luò)層面有更多的控制,提供更多的性能優(yōu)化選項(xiàng);
5)支持客戶端數(shù)據(jù)統(tǒng)計(jì);
6)支持Kestrel,Kestrel是一個(gè)scala編寫的MQserver。
XMemcached在哪些方面還需要改進(jìn)
XMemcached需要改進(jìn)的地方有兩個(gè):文檔和二進(jìn)制協(xié)議的實(shí)現(xiàn)。文檔很不完善,因?yàn)榫τ邢?,我希望能補(bǔ)上更完善的用戶指南。其次是二進(jìn)制協(xié)議的實(shí)現(xiàn),在效率上還有可以提高的地方。
另外,在*nix系統(tǒng)上,對(duì)于同一臺(tái)主機(jī)的應(yīng)用和memcached,使用unixdomainsocket可以進(jìn)一步提高效率,這也是XMemcached準(zhǔn)備探索的一個(gè)方向。由于Java不支持unixdomainsocket,可能需要通過JNI來實(shí)現(xiàn)。
在和人間網(wǎng)創(chuàng)始人兼CTO曹曉鋼的溝通中,他談到人間網(wǎng)不僅使用XMemcached連接到memcached服務(wù)器,也使用它連接到kestrel服務(wù)器,很穩(wěn)定的支持了網(wǎng)站的需求。在選用Xmemcached之前,曹曉鋼對(duì)幾個(gè)類似的工具進(jìn)行了評(píng)估:
主要的備選還有spymemcached和岑文初的memcache-client-forjava。開始的時(shí)候,我們選用的是spymemcached。他的問題在于因?yàn)槭褂卯惒侥P?,使用比較繁瑣,代碼量比較大;看過memcache-client-forjava的代碼,覺得其中夾雜了一些不應(yīng)該由memcachedclient實(shí)現(xiàn)的功能,例如客戶端緩存,比較擔(dān)心其會(huì)帶來一些潛在的問題。
選中XMemcached的另外一個(gè)原因是其經(jīng)過了仔細(xì)的性能調(diào)試。當(dāng)然最根本的一個(gè)原因是,當(dāng)我們和開發(fā)者接觸后,開發(fā)者的支持很到位,反應(yīng)迅速,代碼質(zhì)量也很高。經(jīng)過實(shí)際的驗(yàn)證,最終我們選定了XMemcached。
關(guān)于XMemcached有什么特點(diǎn)以及在哪些方面還需要改進(jìn)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。