`
不爱不见
  • 浏览: 284842 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

redis的集群方案之codis

 
阅读更多
Codis 详细介绍

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

 

转子:

   http://www.oschina.net/p/codis#0-tsina-1-94851-397232819ff9a47a7b7e80a40613cfe1

 
 
分享到:
评论

相关推荐

    用Go编写的基于代理的高性能Redis集群解决方案Codis.rar

    标题"用Go编写的基于代理的高性能Redis集群解决方案Codis.rar"指出,这是一个使用Go编程语言实现的,针对Redis集群的高性能解决方案,名为Codis。Codis是一个中间件,旨在解决单个Redis实例在处理大规模数据和高并发...

    Redis 集群解决方案 Codis.zip

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

    pengbotao#itopic.go#Redis集群方案 - Codis1

    Github上给的架构图如下:几个关键组件说明:它实际就是个Redis的服务端,基于redis-server做了二次开发,增加额外的数据结构以便支持slot的相

    Redis集群方案.docx

    Redis 集群方案是为了应对单实例Redis在处理大规模数据时面临的存储瓶颈,尤其是在像新浪微博这样的大型应用中,单实例无法满足超过TB级...无论采用何种方案,确保数据一致性、高可用性和扩展性是设计Redis集群的关键。

    高效运维最佳实践(03):Redis集群技术及Codis实践

    包括官方近期推出的RedisCluster,Redis集群有三种实现机制,分别介绍如下,希望对大家选型有所帮助。这种方案将分片工作放在业务程序端,程序代码根据预先设置的路由规则,直接对多个Redis实例进行

    Redis集群_实际使用自己整理的版本.docx

    本文将详细介绍几种常见的Redis集群方案,包括客户端分片、Twemproxy、Codis以及Redis 3.0集群。 #### 一、客户端分片 **概念**: 客户端分片是一种将分片逻辑置于客户端实现的策略。该方案通过客户端预先定义好的...

    Go-Codis是用Go编写基于代理的高性能Redis集群解决方案

    Go-Codis是一个使用Go语言编写的高性能、基于代理的Redis集群解决方案。它旨在提供一种灵活且可扩展的方式,以处理大规模的数据存储和检索需求,特别是在那些对数据一致性有较高要求的场景下。 Codis的核心设计目标...

    redis_cluster离线安装包及其安装手册

    Redis Cluster是Redis官方提供的分布式集群解决方案,它允许用户在多个节点之间分发...通过详细的步骤和包含的所有组件,用户可以在离线环境中顺利构建起一个高可用的Redis集群,从而实现高效、稳定的数据存储和处理。

    redis-codis集群

    Redis-Codis是一个在中国互联网行业中广泛应用的分布式Redis解决方案。它主要解决了单个Redis实例在处理大规模数据和高并发请求时的性能瓶颈问题。通过Codis,你可以将多个Redis实例组合成一个逻辑上的集群,实现...

    redis集群搭建及各方案比较

    本篇文章将详细探讨 Redis 集群的搭建过程以及各种集群方案的比较。 一、Redis 集群基础知识 Redis 集群采用了分片(Sharding)策略,将数据分散存储在多个节点上,以实现数据的水平扩展。每个节点负责一部分数据,...

    Redis专场:Codis 集群演化与 Redis 异步迁移

    在深入探讨Redis专场中Codis集群演化与Redis异步迁移的内容之前,首先需要对Codis和Redis这两个核心概念有所了解。Redis是一个开源的内存中的数据结构存储系统,用作数据库、缓存和消息中间件。它支持数据结构如字符...

    codis/redis 迁移redis cluster工具

    Codis到Redis Cluster的迁移工具支持将已经在Codis集群中的数据平滑迁移到Redis Cluster,无需停机,保证业务的连续性。同样,它也支持从Redis迁移到Codis,以及在Redis实例之间进行迁移,这些功能使得数据管理更具...

    Redis持久化以及集群部署

    除了官方提供的集群方案外,还有一些第三方工具可以用于 Redis 的集群部署,例如 Twemproxy 和 Codis。 - **Twemproxy**: - 优点:配置简单,支持多种数据库; - 缺点:不支持动态扩容,运维相对麻烦; - **...

    细细品味架构·分布式Redis解决方案Codis(第9期)

    2.5 Codis 集群部署实战 2.5.1 集群概要 2.5.2 系统架构 2.5.3 角色分配 2.5.4 部署安装 2.5.5 服务启动及初始化集群 2.5.6 codis-server 的HA 2.5.7 关于集群监控的思考 2.5.8 使用过程中遇到的问题

    redis面试题及答案(上).pdf

    么时候适合使用? Redis 集群方案适合在以下场景使用: 1. 数据分片:如果数据量过...Redis 集群方案如 Codis、Redis Cluster 和自定义实现等,可以解决数据分片、高可用性等问题,适用于大规模、高并发的应用场景。

    安装redis集群

    安装redis集群管理器 mkdir /var/log/codis -pv cd /workspace/Go/src/github....

    Codis分布式Redis解决方案 v3.2.2.zip

    Codis的核心思想是通过Proxy代理层来实现对多个Redis实例的透明化管理,使得客户端可以像操作单个Redis一样与整个Redis集群交互。这个设计使得系统能够平滑地扩展到数百甚至上千个Redis节点,同时保持低延迟和高吞吐...

    Codis使用文档 pdf版

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

    Redis面试题(含答案).pdf

    Redis 集群方案有四种:twemproxy、codis、Redis cluster 3.0、业务代码层实现。 Redis 集群方案的缺点 Redis 集群方案的缺点是 twemproxy 自身单端口实例的压力,使用一致性 hash 后,对 Redis 节点数量改变时候的...

Global site tag (gtag.js) - Google Analytics