redis集群方案-Twemproxy

1 Twemproxy是什么?

Twemproxy是一种代理分片机制,来源于Twitter开源。Twemproxy按照路由规则,转发给后台的各个Redis服务器,然后Redis返回结果给Twemproxy,该方案很好的解决了单点Redis数据承载能力的问题。一台机器的内存是有限的这样单台Redis存储的数据量也是有限的,数据量庞大的时候会导致查询数据变慢。引入Twemproxy中间件以后,相当于引入一个内存空间巨大的Redis在后台提供服务。当然,Twemproxy本身也是单点,需要用Keepalived做高可用方案。通过Twemproxy可以使用多台服务器来水平扩张redis服务,可以有效的避免单点故障问题。虽然使用Twemproxy需要更多的硬件资源和在redis性能有一定的损失(twitter测试约20%),但是能够提高整个系统的HA也是相当划算的。不熟悉twemproxy的同学,如果玩过nginx反向代理或者mysql proxy,那么你肯定也懂twemproxy了。其实twemproxy不光实现了redis协议,还实现了memcached协议,什么意思?换句话说,twemproxy不光可以代理redis,还可以代理memcached。

2 安装,配置Twemproxy

环境 centos6.0 、java jdk1.7

需要下载的文件(统一打包上传)

redis-3.2.8.tar.gz

tcl-8.5.7-6.el6.x86_64.rpm

nutcracker-0.4.0.tar.gz

l 安装Redis

下载包放在/soft/目录下

解压Redis

cd /soft

tar -zxvf redis-3.2.8.tar.gz

复制配置文件到/etc下方便统一管理

cp /soft/redis-3.2.8/redis.conf /etc/

l 修改redis.conf

protected-mode yes 更改为protected-mode no  #这里暂时取消用户名密码登录,上线以后可以打开此设置

daemonize no 更改为  daemonize yes  #这里设置为yes是Redis可以后台运行

# bind 127.0.0.1  注释掉这段,避免其他的机器无法访问Redis

l 启动Redis

/soft/redis-3.2.8/src/redis-server /etc/redis.conf

l rpm安装nutcracker依赖

rpm -ivh tcl-8.5.7-6.el6.x86_64.rpm

l 安装Twemproxy

解压

tar -zxvf  /soft/nutcracker-0.4.0.tar.gz

编译安装

cd /soft/nutcracker-0.4.0

./configure

make && make install

复制配置文件到/etc 统一管理

cp /soft/nutcracker-0.4.0/conf/nutcracker.yml /etc/

修改配置文件

vim nutcracker.yml

修改为如下

alpha:

listen: 127.0.0.1:22121

hash: fnv1a_64

distribution: ketama

auto_eject_hosts: true

redis: true

server_retry_timeout: 2000

server_failure_limit: 1

servers:

- 192.168.91.129:6379:1 #这里为你安装的Redis

- 192.168.91.130:6379:1#这里为你安装的Redis

启动Twemproxy

/soft/nutcracker-0.4.0/src/nutcracker -d -c /etc/nutcracker.yml

然后测试Twemproxy

/soft/redis-3.2.8/src/redis-cli -p 22121

127.0.0.1:22121> get admin

"admin"

127.0.0.1:22121> set admin admiin

OK

127.0.0.1:22121>

这里的key,value 会根据策略分配到不同的Redis中。

资源下载:http://download.csdn.net/detail/u013381397/9845828

redis集群方案-Twemproxy相关推荐

  1. 基于Twemproxy的Redis集群方案

    基于Twemproxy的Redis集群方案 原文地址:http://www.cnblogs.com/haoxinyue/p/redis.html  为了保持方便,愿原博主谅解 概述 由于单台redis ...

  2. Redis集群方案对比:Codis、Twemproxy、Redis Cluster

    为了保证Redis的高可用,主要需要以下几个方面: 数据持久化 主从复制 自动故障恢复 集群化 我们简单理一下这几个方案的特点,以及它们之间的联系. 数据持久化本质上是为了做数据备份,有了数据持久化, ...

  3. Redis集群方案,Codis安装测试

    Redis集群方案,Codis安装测试 1,关于豌豆荚开源的Codis Codis是豌豆荚使用Go和C语言开发.以代理的方式实现的一个Redis分布式集群解决方案,且完全兼容Twemproxy.Twe ...

  4. Redis集群方案及实现 - yfk的专栏 - 博客频道 - CSDN.NET

    Redis集群方案及实现 - yfk的专栏        - 博客频道 - CSDN.NET yfk的专栏 学习&记录&分享 目录视图 摘要视图 订阅 [公告]博客系统优化升级   U ...

  5. Redis - 集群方案

    在开发测试环境中,我们一般搭建Redis的单实例来应对开发测试需求,但是在生产环境,如果对可用性.可靠性要求较高,则需要引入Redis的集群方案.虽然现在各大云平台有提供缓存服务可以直接使用,但了解一 ...

  6. Redis 集群方案

    根据一些测试整理出来的一份方案: 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡 Redi ...

  7. Redis集群方案应该怎么做?都有哪些方案?

    1.codis. 目前用的最多的集群方案,基本和twemproxy一致的效果,但它支持在 节点数量改变情况下,旧节点数据可恢复到新hash节点. 2.redis cluster3.0自带的集群,特点在 ...

  8. Redis集群方案及实现

    之前做了一个Redis的集群方案,跑了小半年,线上运行的很稳定 差不多可以跟大家分享下经验,前面写了一篇文章 数据在线服务的一些探索经验,可以做为背景阅读 应用 我们的Redis集群主要承担了以下服务 ...

  9. Redis集群方案及框架

    redis集群分为服务端集群和客户端分片,redis3.0以上版本实现了集群机制,即服务端集群,3.0以下使用客户端分片(Sharding). 通常,为了提高网站响应速度,总是把热点数据保存在内存中而 ...

最新文章

  1. serv-u 自定义html,Serv-U架设教程_Serv-U使用教程图文版
  2. IPv6 — 移动性支持
  3. 点击时候确定某个元素 js_某空气质量监测平台 JS反爬
  4. 批量导数据之利器-load data[2016-07-11]
  5. 任秀计算机音乐,重磅丨15家主流媒体聚焦全球音乐院校校长交流季
  6. 泛型的应用-vue3之ref
  7. 将List按照指定大小等分的几种实现方式和效率对比及优化
  8. 广东省零售连锁协会执行会长:技术更新太快,消费者才是零售企业最大的对手...
  9. Android基础入门教程——7.6.3 基于TCP协议的Socket通信(2)
  10. Selenium简介
  11. “Java:詹姆斯?”
  12. pytorch 预训练模型
  13. 注册表(安全 活动桌面)
  14. keydown,keypress,keyup三者之间的区别:
  15. 国内android应用商城中程序隐私泄露分析,基于数据生命周期的Android应用程序隐私泄露分析技术研究...
  16. 面试官问的最后一个问题应该怎么回答?
  17. 【科研分享】Matplotlib 绘制多子图(subplot)进行实验结果分析
  18. aso优化重要ASO优化技巧大全,ASO标题优化技巧:实战案例解析
  19. 深入理解递归:美丽的科赫雪花
  20. snap安装nextcloud关键点

热门文章

  1. TypeError:iteration over a 0-d tensor
  2. 程序员工资可以比别人低,但是斗图撩妹不能怂!
  3. js 中split分割字符串组成数组
  4. 【AI开源大模型】GLM-130B:开放的中英双语预训练模型
  5. 小米电视系统统计服务器,史上最全!小米电视4 各系列超详细对比
  6. windows10家庭版远程桌面提示:身份验证错误CredSSP...
  7. sscanf分割字符串
  8. 斐波那契数列解题思路
  9. SVG动态绘制不规则图形
  10. MySQL-如何分库分表?一看就懂