codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.
组成部分
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 的产品, 各项配置都不会冲突.
特性
自动平衡
使用非常简单
图形化的面板和管理工具
支持绝大多数 Redis 命令,完全兼容twemproxy
支持 Redis 原生客户端
安全而且透明的数据移植,可根据需要轻松添加和删除节点
提供命令行接口
RESTful APIs
相关推荐
本文将详细介绍如何在测试环境中搭建 Codis 集群,包括其主要组件的功能解析及安装配置步骤。 Codis 的核心架构由四个主要组件组成: 1. **Codis-Proxy**:作为客户端连接的 Redis 代理服务,它实现了 Redis 协议...
本文将详细介绍这个工具的功能、使用场景以及操作流程。 首先,我们要理解Redis和Codis各自的特点。Redis是一款开源、高性能的键值存储系统,适用于处理大量数据的实时读写操作。而Codis是阿里巴巴开源的一个分布式...
### Codis集群安装详解 #### 一、概述 本文档主要介绍了如何在CentOS 6.5环境下构建并运行一个完整的...在后续的步骤中,我们将详细介绍codis-proxy、codis-redis-group、codis-redis及codis-ha的安装与配置过程。
部署步骤详细介绍了整个集群环境的搭建过程,包括: - Zookeeper集群的部署:确保服务注册与发现机制的可靠运行。 - Codis组件的编译和安装:包括Dashboard、Codis Proxy、Codis Server等。 - Keepalived + LVS的...
在特性介绍方面,Codis集群展现了诸多亮点。例如,在高吞吐能力上,通过指令流水和优化的垃圾回收(GC)机制,提高了实现效率。在并发多连接方面,它支持单连接的Redis和多连接的SSD(RocksDB)。而多数据库(DB)...
2.4.1 介绍 2.4.2 实现 2.4.3 TrueTime 2.4.4 并发控制 2.4.5 实验分析 2.4.6 相关工作 2.4.7 未来的工作 2.4.8 总结 2.5 Codis 集群部署实战 2.5.1 集群概要 2.5.2 系统架构 2.5.3 角色分配 2.5.4 部署安装 2.5.5 ...
### JAVA程序员培训(系列四)-REDIS集群、分片Sharding及使用场景介绍 #### REDIS集群方案介绍 ##### CODIS集群方案 - **特点**:CODIS是一种基于Redis的高性能分布式缓存系统,它利用代理层实现了Redis的水平...
包括官方近期推出的RedisCluster,Redis集群有三种实现机制,分别介绍如下,希望对大家选型有所帮助。这种方案将分片工作放在业务程序端,程序代码根据预先设置的路由规则,直接对多个Redis实例进行
TiDB是由豌豆荚团队的工程师们开发的,同时也是codis的开发团队。文档详细地介绍了TiDB的设计理念、架构组成、核心特性以及操作和部署方式等。 1. TiDB简介与主要概念 文档首先对TiDB进行了简要介绍,并阐述了其...
本文将详细介绍几种常见的Redis集群方案,包括客户端分片、Twemproxy、Codis以及Redis 3.0集群。 #### 一、客户端分片 **概念**: 客户端分片是一种将分片逻辑置于客户端实现的策略。该方案通过客户端预先定义好的...
下面介绍两种常见的实现方式: 1. 单机版Redis Server:简单易部署,但存在单点故障风险,一旦服务器或进程出现问题,服务就会中断,数据可能丢失。 2. 主从同步+Sentinel:在两台服务器上分别部署主Redis(master...
文章详细介绍了项目架构的演进方向,从传统的单台单体架构到多台单体架构、多台集群架构、集群高可用架构等,ครอบ盖了Nginx、Keepalived、LVS、CDN、Varnish、MySQL、Redis、ElasticSearch、Codis、MyCat等多种...
介绍dbproxy是一个采用C 11编写的代理服务器,支持redis和 ssdb数据库。 其主要用于扩容和提高系统负载。使用lua控制sharding,把不同的key-value映射到不同的后端redis或ssdb服务器。构建dbproxy支持windwos和linux...
综上所述,本文介绍了三种常见的分布式锁实现方式及其优缺点,同时也对 Redis 的基本原理、数据结构、集群种类进行了简要说明,并提到了金融业务中记账业务的要求。这些知识点对于理解分布式锁的实现细节和应用场景...
- **背景介绍**:个推采用了Hive元数据管理与Spark计算引擎相结合的大数据架构来支持其业务发展,并将Spark应用于报表分析、机器学习等场景。 - **性能对比**:通过对3T数据的处理对比,展示了SparkSQL相对于Hive...
- **中间件**:采用Kafka、Codis等成熟的中间件技术,保证数据传输的可靠性。 - **数据库**:选择HBase等NoSQL数据库作为数据存储方案,满足海量数据存储的需求。 #### 结论 滴滴出行在构建LBS系统时,充分考虑了...