文章轉至:http://www.thinksaas.cn/group/topic/342773/web
Memcache基本上已是開發的標配了,可是對於Memcache集羣,不少線上部署仍然是很單薄的。瀏覽器
幾個存在的問題:不健壯、數據不安全、配置變動可能致使存取異常、後備數據的一致性安全
鑑於存在以上問題,Memcache的開發團隊開發了Membase,支持多臺服務器集羣,數據的切片和複製,有效的提升了服務穩定性和數據的安全 性,而且支持數據的持久存儲。代碼的穩定性不夠好,我曾經在部分線上業務上使用了Membase,後來由於幾回莫名的存取操做緩慢,只能又撤銷回到 Memcache。服務器
以後,Membase團隊與CouchDB團隊合併,推出二合一的產品: Couchbase。測試
Couchbase的最大特色:server
1,徹底繼承Memcache,原生支持全部Memcache操做;blog
2,繼承了Membase的特性,支持集羣和數據持久化;繼承
3,繼承了CouchDB的文檔性質,支持經過View對數據進行操做。這個View的特性,提供了以往memcache所不具有的便利性,可是同Mongodb相比又很簡單原始,感受不是一種廣泛需求的功能。索引
首先,從安裝講起:內存
安裝服務器:
去官網下載對應版本的安裝包http://www.couchbase.com 目前最新版本是2.1.1
從membase開始,就提倡採用web方式進行管理(執行完安裝文件後,在瀏覽器中http://localhost:8091端口訪問),默認是8091端口。
另一段信息,是關於端口。11211是memcache訪問端口,8091是管理和操做端口,其餘幾個是用於管理和集羣通信的。
打開8091進行初始化設置:
初始化過程很人性化,第一步是選擇物理存儲位置,而且設定新建立仍是加入到一個已有的集羣中。
若是選擇新建立,須要指定內存使用的數量(注意若在集羣中,全部集羣的Mem內存必須都大於此值)。下一步中,還能夠選擇自動灌入一些測試數據,這樣能直接體驗一些view的效果。
再下一步,是建立缺省Bucket設置,這個很重要:
Bucket的意義,在於將數據進行分隔,好比:任何view就是基於一個bucket的,僅對bucket內的數據進行處理。一個server上 能夠有多個Bucket,每一個Bucket的存儲類型、內容佔用、數據複製數量等,都須要分別指定。從這個意義上看,每一個Bucket都至關於一個獨立的 實例。在集羣狀態下,咱們須要對server進行集羣設置,Bucket只側重數據的保管。
建立Bucket,須要指明驅動類型: Memcached顧名思義,純內存,無複製集等功能;Couchbase型是帶有持久存儲,能夠有複製集。
關於複製集,能夠設置:禁止複製集、複製集數量(若是設爲2,數據將在兩個節點上保存,任何一個節點損壞數據仍然存在),是否對索引也進行復制。Flush,是指是否支持清空所有數據的操做。
建議是使用Couchbase類型,設定好內存使用量,其餘按默認。關於內存設定,儘可能不要將Server上的內存所有分配出去,留一些空閒,對新建Bucket進行測試就很方便。固然,Bucket佔用的內存數,在創建後也是能夠動態調整的。
後面按照提示進行,設置完管理員密碼,服務就可使用了。在首頁的管理界面,能夠看到運行的概況:
在ServerNodes幀中,能夠查看服務器集羣狀況;在View中,能夠管理各個Bucket中的View,在DataBuckets中,對Buckets進行管理。好比調整內存佔用:
只有一個服務器節點,replica是沒有意義的,咱們來搭建第二個服務器節點。安裝過程相似,這裏選擇加入集羣,填寫IP和密碼:
點擊下一步,通過驗證就能夠加入集羣了。集羣中任何一臺服務器,地位是對等的,用瀏覽器鏈接上去均可以進行管理。
能夠看到,新加入的服務器處於 Pending 狀態,意味着數據還沒有進行同步。只有數據進行同步以後,這個節點才能提供服務。點擊Rebalance按鈕,進行數據同步。還有進度條顯示,真的很體貼。