上层运用可以像利用单机的 Redis 一样利用, Codis 底层会处理要求的转发, 一直机的数据迁移等事情, 所有后边的统统事情,
对付前面的客户端来说是透明的, 可以大略的认为后边连接的是一个内存无限大的 Redis 做事。
开源地址:
https://github.com/CodisLabs/codis
中文文档
https://github.com/CodisLabs/codis/blob/release3.2/doc/tutorial_zh.md
codis 3.x最新 release 版本为 codis-3.2,codis-server 基于 redis-3.2.8支持 slot 同步迁移、异步迁移和并发迁移,对 key 大小无任何限定,迁移性能大幅度提升比较 2.0:重构了全体集群组件通信办法,codis-proxy 与 zookeeper 实现理解耦,废弃了codis-config 等元数据存储支持 etcd/zookeeper/filesystem 等,可自行扩展支持新的存储,集群正常运行期间,即便元存储故障也不再影响 codis 集群,大大提升 codis-proxy 稳定性对 codis-proxy 进行了大量性能优化,通过掌握GC频率、减少工具创建、内存预分配、引入 cgo、jemalloc 等,使其吞吐还是延迟,都已达到 codis 项目中最佳proxy 实现 select 命令,支持多 DBproxy 支持读写分离、优先读同 IP/同 DC 下副本功能基于 redis-sentinel 实现主备自动切换实现动态 pipeline 缓存区(减少内存分配以及所引起的 GC 问题)proxy 支持通过 HTTP 要求实时获取 runtime metrics,便于监控、运维支持通过 influxdb 和 statsd 采集 proxy metricsslot auto rebalance 算法从 2.0 的基于 max memory policy 变更成基于 group 下 slot 数量供应了更加友好的 dashboard 和 fe 界面,新增了很多按钮、跳转链接、缺点状态等,有利于快速创造、处理集群故障新增 SLOTSSCAN 指令,便于获取集群各个 slot 下的所有 keycodis-proxy 与 codis-dashbaord 支持 docker 支配