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 已经是稳定阶段,目前豌豆荚已经在使用该系统。

架构:

Snapshot1

特性:

  • 自动平衡

  • 使用非常简单

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

  • 支持绝大多数 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

界面截图:

Dashboardmain

MigRATemigrate

Slotsslots

Codis 3.1.0 发布,分布式 Redis 解决方案
Codis 3.1.0 发布了,这是 Codis 3.1 的首个版本。主要改进如下:提高吞吐量 10 - 20%,并将 pct99 延迟降低了 50%重新设计集群的架构,并支持与官方 redis-sentinel 集成的 HA实现新的命令 'SLOTSSCAN'提供了更好的仪表板升级 codis 服务器至 redis3.2.4发行说明下载地址:codis3.1.0-go1.7.3-linux.tar.gz31.4

发布于 2016-11-14 08:25:04 | 194 次阅读

Codis 3.1 beta 发布,分布式 Redis 解决方案
Codis 3.1 beta 发布了。Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别  (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客

发布于 2016-10-20 09:32:35 | 161 次阅读

Codis 3.0.3 和 2.0.14 发布,Redis 集群解决方案
Codis 3.0.3 和 2.0.14 发布了,Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来

发布于 2016-03-23 23:55:22 | 229 次阅读

Codis 3.0.1 发布,Redis 集群解决方案
Codis 3.0.1 发布,更新如下:In 3.0, we redesign dashboard and rpc between dashboard and proxies.We don't need zk/etcd any more, they are only optional for service discovery now.下载页面:3.0.1Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没

发布于 2016-01-06 00:56:00 | 209 次阅读

Codis 2.0.12 发布,Redis 集群解决方案
Codis 2.0.12 发布,更新如下:Handle temp errors on accept instead of closing proxy directly下载页面:2.0.12Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处

发布于 2016-01-01 01:02:31 | 156 次阅读

Codis集群搭建摘要
本篇内容主要为大家提供的是Codis集群搭建摘要。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-04-03 02:38:43 | 477 次阅读


Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务