paulwong

          Redis 集群解決方案 Codis

          https://github.com/wandoulabs/codis

          Codis 是一個(gè)分布式 Redis 解決方案, 對(duì)于上層的應(yīng)用來(lái)說(shuō), 連接到 Codis Proxy 和連接原生的 Redis Server 沒(méi)有明顯的區(qū)別 (不支持的命令列表), 上層應(yīng)用可以像使用單機(jī)的 Redis 一樣使用, Codis 底層會(huì)處理請(qǐng)求的轉(zhuǎn)發(fā), 不停機(jī)的數(shù)據(jù)遷移等工作, 所有后邊的一切事情, 對(duì)于前面的客戶端來(lái)說(shuō)是透明的, 可以簡(jiǎn)單的認(rèn)為后邊連接的是一個(gè)內(nèi)存無(wú)限大的 Redis 服務(wù).

          Codis 由四部分組成:

          • Codis Proxy   (codis-proxy)

          • Codis Manager (codis-config)

          • Codis Redis   (codis-server)

          • ZooKeeper

          codis-proxy 是客戶端連接的 Redis 代理服務(wù), codis-proxy 本身實(shí)現(xiàn)了 Redis 協(xié)議, 表現(xiàn)得和一個(gè)原生的 Redis 沒(méi)什么區(qū)別 (就像 Twemproxy), 對(duì)于一個(gè)業(yè)務(wù)來(lái)說(shuō), 可以部署多個(gè) codis-proxy, codis-proxy 本身是無(wú)狀態(tài)的.

          codis-config 是 Codis 的管理工具, 支持包括, 添加/刪除 Redis 節(jié)點(diǎn), 添加/刪除 Proxy 節(jié)點(diǎn), 發(fā)起數(shù)據(jù)遷移等操作. codis-config 本身還自帶了一個(gè) http server, 會(huì)啟動(dòng)一個(gè) dashboard, 用戶可以直接在瀏覽器上觀察 Codis 集群的運(yùn)行狀態(tài).

          codis-server 是 Codis 項(xiàng)目維護(hù)的一個(gè) Redis 分支, 基于 2.8.13 開(kāi)發(fā), 加入了 slot 的支持和原子的數(shù)據(jù)遷移指令. Codis 上層的 codis-proxy 和 codis-config 只能和這個(gè)版本的 Redis 交互才能正常運(yùn)行.

          Codis 依賴 ZooKeeper 來(lái)存放數(shù)據(jù)路由表和 codis-proxy 節(jié)點(diǎn)的元信息, codis-config 發(fā)起的命令都會(huì)通過(guò) ZooKeeper 同步到各個(gè)存活的 codis-proxy.

          Codis 支持按照 Namespace 區(qū)分不同的產(chǎn)品, 擁有不同的 product name 的產(chǎn)品, 各項(xiàng)配置都不會(huì)沖突.

          目前 Codis 已經(jīng)是穩(wěn)定階段,目前豌豆莢已經(jīng)在使用該系統(tǒng)。

          架構(gòu):

          Snapshot1

          特性:

          • 自動(dòng)平衡

          • 使用非常簡(jiǎn)單

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

          • 支持絕大多數(shù) Redis 命令,完全兼容 twemproxy

          • 支持 Redis 原生客戶端

          • 安全而且透明的數(shù)據(jù)移植,可根據(jù)需要輕松添加和刪除節(jié)點(diǎn)

          • 提供命令行接口

          • RESTful APIs

          安裝:

          • Install go

          • go get github.com/wandoulabs/codis

          • cd codis

          • ./bootstrap.sh

          • make gotest

          • cd sample

          • follow instructions in usage.md

          界面截圖:

          Dashboardmain

          Migratemigrate

          Slotsslots

          posted on 2014-11-09 09:28 paulwong 閱讀(2534) 評(píng)論(0)  編輯  收藏 所屬分類: 性能優(yōu)化REDIS

          主站蜘蛛池模板: 武定县| 塔城市| 古浪县| 轮台县| 黑山县| 杂多县| 泸定县| 鹤岗市| 探索| 明水县| 札达县| 诸暨市| 沾化县| 平顶山市| 永仁县| 安国市| 信阳市| 商水县| 泸溪县| 安多县| 阳江市| 泸西县| 祥云县| 夏邑县| 鱼台县| 东宁县| 印江| 临夏市| 綦江县| 花垣县| 清水河县| 文安县| 益阳市| 莱芜市| 大方县| 友谊县| 武平县| 田东县| 内丘县| 福鼎市| 湖南省|