Redis 叢集解決方案 Codis

來源:互聯網
上載者:User

標籤:

(來源:開源中國社區 http://www.oschina.net/p/codis)

Codis 是一個分布式 Redis 解決方案, 對於上層的應用來說, 串連到 Codis Proxy 和串連原生的 Redis Server 沒有明顯的區別 (不支援的命令列表), 上層應用可以像使用單機的 Redis 一樣使用, Codis 底層會處理請求的轉寄, 不停機的資料移轉等工作, 所有後邊的一切事情, 對於前面的用戶端來說是透明的, 可以簡單的認為後邊串連的是一個記憶體無限大的 Redis 服務.

Codis 由四部分組成:

  • Codis Proxy   (codis-proxy)

  • Codis Manager (codis-config)

  • Codis Redis   (codis-server)

  • ZooKeeper

codis-proxy 是用戶端串連的 Redis 代理服務, codis-proxy 本身實現了 Redis 協議, 表現得和一個原生的 Redis 沒什麼區別 (就像 Twemproxy), 對於一個業務來說, 可以部署多個 codis-proxy, codis-proxy 本身是無狀態的.

codis-config 是 Codis 的管理工具, 支援包括, 添加/刪除 Redis 節點, 添加/刪除 Proxy 節點, 發起資料移轉等操作. codis-config 本身還內建了一個 http server, 會啟動一個 dashboard, 使用者可以直接在瀏覽器上觀察 Codis 叢集的運行狀態.

codis-server 是 Codis 項目維護的一個 Redis 分支, 基於 2.8.13 開發, 加入了 slot 的支援和原子的資料移轉指令. Codis 上層的 codis-proxy 和 codis-config 只能和這個版本的 Redis 互動才能正常運行.

Codis 依賴 ZooKeeper 來存放資料路由表和 codis-proxy 節點的元資訊, codis-config 發起的命令都會通過 ZooKeeper 同步到各個存活的 codis-proxy.

Codis 支援按照 Namespace 區分不同的產品, 擁有不同的 product name 的產品, 各項配置都不會衝突.

目前 Codis 已經是穩定階段,目前豌豆莢已經在使用該系統。

架構:

特性:

  • 自動平衡

  • 使用非常簡單

  • 圖形化的面板和管理工具

  • 支援絕大多數 Redis 命令,完全相容 twemproxy

  • 支援 Redis 原生用戶端

  • 安全而且透明的資料移植,可根據需要輕鬆添加和刪除節點

  • 提供命令列介面

  • RESTful APIs

安裝:

  • Install go

  • go get github.com/wandoulabs/codis

  • cd codis

  • ./bootstrap.sh

  • make gotest

  • cd sample

  • follow instructions in usage.md

介面:

Dashboard

Migrate

Slots

Redis 叢集解決方案 Codis

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.