Codis 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Codis 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Codis 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 C/C++ Google Go
操作系统 Linux
软件类型 开源软件
开源组织 豌豆荚
地区 国产
投 递 者 红薯
适用人群 未知
收录时间 2014-11-09

软件简介

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(19) 发布并加入讨论🔥
发表了资讯
2016/11/14 15:23

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.gz 31.4 MBcodis3.1.0-go1.7.3-linux.zip 26.8 MBcodis3.1.0-go1.7.3-osx.tar.gz 27 MBcodis3.1.0-go1.7.3-osx...

5
57
发表了资讯
2016/10/20 00:00

Codis 3.1 beta 发布,分布式 Redis 解决方案

Codis 3.1 beta 发布了。 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务. 更新内容可关注发行日志或查看提交记录。 ...

4
40
发表了资讯
2016/03/23 00:00

Codis 3.0.3 和 2.0.14 发布,Redis 集群解决方案

Codis 3.0.3 和 2.0.14 发布了,Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。 暂无更多更新详情,如需了解请点击这...

3
37
发表了资讯
2016/03/02 00:00

细说分布式 Redis 架构设计和那些踩过的坑

Codis是一个分布式Redis解决方案,与官方的纯P2P模式不同,Codis采用的是Proxy-based的方案。今天我们介绍一下Codis以及下一个大版本RebornDB的设计,同时会介绍Codis在实际应用场景中的一些tips。最后抛砖引玉,介绍一下我对分布式存储的一些观点和看法。 目录 Redis、RedisCluster和Codis 我们更爱一致性 Codis在生产环境中的使用的经验和坑们 对于分布式数据库和分布式架构的一些看法 答疑记录 1 Redis,RedisCluster和Codis...

15
330
发表了资讯
2016/01/06 00:00

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.1 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发...

7
39
发表了资讯
2016/01/01 00:00

Codis 2.0.12 发布,Redis 集群解决方案

Codis 2.0.12 发布,更新如下: Handle temp errors on accept instead of closing proxy directly 下载页面:2.0.12 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的...

2
80
发表了资讯
2015/12/25 00:00

Codis 3.0 alpha 发布,Redis 集群解决方案

Codis 3.0 alpha 发布,更新如下: 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-alpha Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请...

8
50
发表了资讯
2015/09/16 00:00

Codis 2.0.6 发布,Redis 集群解决方案

Codis 2.0.6 发布,更新内容如下: skip pre_migrate if slot is already migrating 下载页面:2.0.6 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的...

5
40
发表了资讯
2015/09/11 00:00

Codis 2.0.5 发布,Redis 集群解决方案

Codis 2.0.5 发布,更新内容如下: Mark the proxy online automatically when it is started, you do not need to do it manually on dashborad. Ignore the node already exists error on creating fence node. Disallow slot set on non-offline slot, it is an init-only operation. 下载页面:2.0.5 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别...

11
54
发表了资讯
2015/08/05 00:00

Codis 2.0 发布,Redis 集群解决方案

Codis 2.0 发布,主要改进: 重新设计 request dispatcher,现在 pipeline 和 mget/mset requests 都比之前快很多! Codis-server (forked redis) 升级至 2.8.21,包含上流 Redis 的 bug 修复,还有优化,比如更低的内存消耗和更快的迁移。 优化 zk 连接,现在更稳定 迁移(和自动均衡)任务现在保存在 zk,仪表盘重启的时候将会继续。 支持 Redis AUTH 命令 更多配置选项,请看 sample/config.ini 更多改进内容请看发行说明。 ...

15
107
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
angular 存在ReDoS漏洞
ReDoS
angular 是一个包,可让您编写客户端 Web 应用程序,就像您拥有更智能的浏览器一样。它还允许您使用 HTML 作为模板语言,并允许您扩展 HTML 的语法以清晰简洁地表达应用程序的组件。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击,因为它提供了一个自定义区域设置规则,可以在 posPre: ' ' 中分配参数。
MPS-2022-13540
2022-08-08 18:20
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
19 评论
1.2K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部