天天看點

Redis叢集方案,Codis安裝測試

codis是豌豆莢使用go和c語言開發、以代理的方式實作的一個redis分布式叢集解決方案,且完全相容twemproxy。twemproxy對于上一層的應用來說, 連接配接codis proxy(redis代理服務)和連接配接原生的redis伺服器沒有明顯的差別,上一層應用能夠像使用單機的 redis一樣對待。codis底層會處理請求的轉發、不停機的資料遷移等工作, 所有底層的一切處理, 對于用戶端來說是透明的。總之,可以簡單的認為背景連接配接的是一個記憶體無限大的redis服務。codis遵循mit開源協定釋出,更多關于codis的資訊請登入其在github的首頁檢視。

codis 是一個分布式 redis 解決方案, 對于上層的應用來說, 連接配接到 codis proxy 和連接配接原生的 redis server 沒有明顯的差別 (不支援的指令清單), 上層應用可以像使用單機的 redis 一樣使用, codis 底層會處理請求的轉發, 不停機的資料遷移等工作, 所有後邊的一切事情, 對于前面的用戶端來說是透明的, 可以簡單的認為後邊連接配接的是一個記憶體無限大的 redis 服務.

codis 由四部分組成:

codis proxy (codis-proxy)

codis manager (codis-config)

codis redis (codis-server)

zookeeper

架構圖:

Redis叢集方案,Codis安裝測試

項目位址:

<a href="https://github.com/wandoulabs/codis">https://github.com/wandoulabs/codis</a>

中文說明文檔:

<a href="https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md">https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md</a>

redis 開源叢集方案:

<a href="http://www.infoq.com/cn/news/2014/11/open-source-redis-cache">http://www.infoq.com/cn/news/2014/11/open-source-redis-cache</a>

redis 3.0 rc4已經釋出了,也是一種方案可以研究下,線上系統不建議使用。

參考文檔:

<a href="https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md#build-codis-proxy--codis-config">https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md#build-codis-proxy–codis-config</a>

設定環境變量,vi /etc/profile

下載下傳codis

安裝codis,需要下載下傳依賴包。比較慢,依賴

安裝測試成功,就可以配置了。

編譯後的二進制檔案在/usr/local/codis/bin目錄下面。

啟動codis之前需要安裝zookeeper。

安裝目錄/usr/local/zookeeper

vi /usr/local/zookeeper/conf/zoo.cfg配置檔案

啟動zookeeper

啟動codis服務,之前必須啟動zookeeper,sample目錄有簡單的叢集配置。

startall.sh腳本會同時将redis啟動。

啟動之後就可以看到zookeeper裡面的資料了。

啟動之後就可以通路admin頁面了。

Redis叢集方案,Codis安裝測試

資料遷移界面

Redis叢集方案,Codis安裝測試

整個桶結構

Redis叢集方案,Codis安裝測試

codis可以完美的解決redis叢集問題,在目前redis 3.0版本還不是很穩定的情況下,是非常不錯的解決方案。支援資料擴充。

但是并不是所有的redis指令都支援。

如果你使用以下指令:

是無法直接遷移到 codis 上的. 你需要修改你的代碼, 用其他的方式實作.