memcachedb-持久化存儲的緩存系統

jopen 12年前發布 | 59K 次閱讀 Memcache 緩存服務器 memcached

memcachedb故名思義就是 memcached + bdb,是基于memcached Socket層和berkeley-db存儲層結構的實現, 是新浪互動社區技術團隊2007年的一項重大的技術成果,現在應用于新浪互動社區多個產品線中,其中包括新浪博客等重頭產品。能夠實現任意memcache api的調用、數據實時落地以及主輔實時備份。

選擇memcachedb:沒 有什么特殊的原因,我們有最好的理由就是,在做到最大不犧牲數據讀、寫性能的前提下,我們能夠讓您原來存儲在memcache里的數據不再遭受系統宕機或 者系統掉電而丟失,即使服務器電源爆炸了,只要硬盤還能夠正常工作,換到另外一臺服務器上,您的數據依然安然無恙地在硬盤上。

性能:我們做過小數據測試,小數據(幾十個字節)數據的讀寫,每秒鐘并發能夠維持在5000+(單塊146Scis硬盤,CPU和內存配置幾乎可以忽略因為這不是性能瓶頸)。基本上滿足所有互聯網高效存儲的應用。

應用場合:需 要頻繁讀寫的小數據。例如數字類服務就像點擊數,需要頻繁寫入小數據的例如評論系統,需要記錄用戶狀態的例如在線人數以及在線用戶等等。當然,如果您想用 來存儲單筆超過10K以上的數據,例如新聞或者文章或者論壇帖子也可以,但是我們沒有嘗試過,如果您真的用來這樣子玩了,可以反饋給我。

數據備份&&讀寫分離:memcachedb支持主輔實時無差異同步,配置主服務和輔服務僅僅需要很短的一條啟動命令。當然,您也可以利用這一便利特性來實現讀寫分離,那樣子會讓您的系統更加的高效。

穩定性:memcachedb目前被應用于新浪互動社區多個產品線中,具有鋼鐵般的品質。

缺點:memcached不支持內存對象的遍歷操作,當然更加不能支持復雜的查詢操作,只能支持根據已知的key去查詢對應的value。但后續我會介紹另外一個東東memcache_engine,它為mysql提供了一個memcached引擎。

一、安裝
直接在memcached-1.2.2.tar.gz找到INSTALL文件,按照步驟安裝就行了。很簡單。

二、啟動
#第一種,讀寫合并模式,即不做輔拷貝,即讀又寫,不做冗余備份
memcachedb -p21211 -d -r -u root -H  /data/mdb_11211  -N

#第二種,讀寫分離/備份模式
#主服務器 192.168.0.1 讀寫監聽 11211 ,同步通過31211的端口完成,不占用繁忙的主服務端口
memcachedb -p21211 -d -r -u root -H  /data/mdb_11211_m -N -R 127.0.0.1:31211 -M

# 輔服務器 192.168.0.2  只讀監聽 21212,從192.168.0.1 的 31211端口同步數據,同時再開一個31212端口對外提供數據同步服務
memcachedb -p21212 -d -r -u root -H  /data/mdb_11211_from_16801_s -O 192.168.0.1:31211 -R 192.168.0.2:31212 -S

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!