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