Redis集群演进的心路历程——从2.0到3.0时代

KV存储的基本要求:

1.大容量,支持TB级别存储

2.高性能

3.功能丰富

 

一、基于Redis 2.x的KV存储

Cluster:每个集群32个节点

集群中数据分配规则存储在Zookeeper中

对外提供RPC服务

 

Apache HBase

优势:水平扩展

缺点:不满足在线核心业务SLA(99.9%响应<25ms)

 

redis

优势:高性能,API接口丰富

缺点:单节点存储能力有限

 

主要存在的问题:

1.扩容困难,单个集群容量合理上限1TB(单节点30GB)

2.共享集群,业务彼此之间存在影响

3.数据导出到hive等复杂

4.RPC存在性能损耗

 

二、Redis 3.0
Cluster
时代

根据业务线拆分集群:大业务独立集群,小业务共享集群

自动化部署集群:Redis Cluster On Docker

Server端信息对客户端透明:客户端根据Cluster名称即可访问,支持参数动态调整,配置信息集中维护

 

三、Redis Client的改进

Cluster redirections 出现的时机:

1.节点down机,同时集群性能急剧下降

2.网络抖动或者慢操作

时间: 2024-11-03 22:02:14

Redis集群演进的心路历程——从2.0到3.0时代的相关文章

Redis集群规范

Redis集群规范 什么是 Redis 集群 分布式(distributed) 容错(fault-tolerant) 是普通单机 Redis 所能使用的功能的一个子集(subset). 集群的容错功能: 主节点和从节点使用完全相同的服务器实现, 它们的功能(functionally)也完全一样, 但从节点通常仅用于替换失效的主节点. 如果不需要保证"先写入,后读取"操作的一致性(read-after-write consistency), 那么可以使用从节点来执行只读查询. Redis

一步一个脚印:解密唯品会中Redis集群架构演进与功能定制

在2016杭州云栖大会的"开源数据库之Redis专场"上,来自唯品会的高级数据工程师申政带来了题为<Redis在唯品会的应用实践>的精彩分享.分享中,他主要介绍Redis集群架构演进.Redis使用经验以及唯品会对Redis二次开发实践积累三部分,干货满满,精彩不容错过. 以下内容根据演讲PPT及现场分享整理. Redis集群架构演进 目前在唯品会内对Redis的使用属于重量级别,目前在唯品会内大概有8000个Redis实例.1000台物理机.500个应用. 上图是唯品会对

这可能是最全的 Redis 集群方案介绍了

由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用.Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以达到100GB.200GB的规模,但是单实例模式限制了Redis没法满足业务的需求(例如新浪微博就曾经用Redis存储了超过1TB的数据).Redis的开发者Antirez早在博客上就提出在Redis 3.0版本中加入集群的功能,但3.0版本等到2015年才发布正式版.各大企业在3.0版本还没发布前为了解决Redis的存储瓶颈,纷纷推出了各自的Redis集群方案.

Redis集群技术及Codis实践

Redis集群技术及Codis实践 前言 本文主要讨论Redis集群相关技术及新发展,关于Redis运维等内容,以后另开主题讨论. 本文重点推荐Codis--豌豆荚开源的Redis分布式中间件(该项目于4个月前在GitHub开源,目前star已超过2100).其和Twemproxy相比,有诸多激动人心的新特性,并支持从Twemproxy无缝迁移至Codis. 好吧我们正式开始. 1. Redis常见集群技术 长期以来,Redis本身仅支持单实例,内存一般最多10~20GB.这无法支撑大型线上业务

redis集群相关资料

Cluster简介         Redis 3.0引入的cluster.cluster是具有有自动数据分片.容错.针对读取速度有了显著的提升.改进了AOF重写等的redis分布式实现.     Redis 集群是一个分布式(distributed).容错(fault-tolerant)的 Redis 实现, 集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset).     Redis 集群中不存在中心(central)节点或者代理(proxy)节点, 集群的其中一

Redis集群环境安装指南

环境 RHLinux-6.4-64-EN, 红帽6.4 64位,英文正式发布版.   Redis3.0.0 redis2.x版本还不支持集群,3.0版本将会支持,现在3.0版本还在开发中,现在是beta-3版本(截止2014-5-8),但功能是可用的. 下载Redis3.0.0 beta-3版本,点击这里下载. Redis3的安装可以参照之前的单机安装指南操作. 创建Redis集群实例 创建集群节点的文件夹,先创建cluster-test文件夹,再以端口为名称创建子文件夹.这里我们要创建6个Re

《Redis官方教程》Redis集群规范

原文链接(on 20 Jul)  作者:antirez  译者:carlvine   Redis集群规范 欢迎来到Redis集群规范.在这里你可以找到有关Redis的算法和设计的基本原理.这篇文章是一项正在进行的工作,因为它是不断地与Redis的实际实现同步.   主要属性和设计原理 Redis的集群目标   Redis集群是一个分布式的实现,具有以下目标,按设计的重要性排序: 高性能,并且多达1000个节点的线性可扩展性.没有代理,使用异步复制,并且在进行赋值时没有合并操作. 可接受程度的写安

基于Redis Sentinel的Redis集群(主从Sharding)高可用方案(转)

本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中,Redis2.8中Sentinel更加稳定),Redis集群是以分片(Sharding)加主从的方式搭建,满足可扩展性的要求: Redis Sentinel介绍 Redis Sentinel是Redis官方提供的集群管理工具,主要有三大功能: 监控,能持续监控Redis的主从实例是否正常

commons-pool2实现redis集群,报JedisDataException异常

问题描述 commons-pool2实现redis集群,报JedisDataException异常 配置文件如下: <bean id="genericObjectPoolConfig" class="org.apache.commons.pool2.impl.GenericObjectPoolConfig"> <property name="maxTotal" value="${redis.maxActive}&quo