Redis + Twemproxy 分片存储实现

栏目: 数据库 · Redis · 发布时间: 5年前

内容简介:from unsplash为提高Redis存储能力的提升,以及对外提供服务可用性提升,有时候有必要针对Redis进行集群式搭建,比较常用的有Twemproxy分片存储以及官方提供的Cluster方式。

Redis + Twemproxy 分片存储实现

from unsplash

为提高 Redis 存储能力的提升,以及对外提供服务可用性提升,有时候有必要针对Redis进行集群式搭建,比较常用的有Twemproxy分片存储以及官方提供的Cluster方式。

Redis实例安装

Redis的安装这里不再多讲,相关步骤可从官网或其它渠道得到。为安装redis多实例,这里简单提前创建完相关文件夹。其中redis存放应用程序,redis1/redis2/redis3仅存储配置文件。

各实例简单配置如下: redis1

redis2

redis3

分别启动,运行成功如下:

Twemproxy应用

以上三个实例各为独自运行,并没有启动集群存储、存储能力提升的功能。为实现redis的集群存储,本例结合 早先出现 的Twemproxy技术(由twitter开源)进行redis分片存储,而非在Twemproxy之后出现的官方提供的cluster功能。

下面开启Twemproxy的应用,源码安装

安装完成后,配置nutcracker.yml,采用 ketama (一致性hash算法)分片方式。其余还有Modula和Random两种方式。取模算法有明细的缺陷:在分片增加的情况下,数据的命中率直线下降。随机算法更是无法保证数据的均衡读写。

保存后,进行简单的测试,保证配置文件的正确性,若出现如下响应,证明配置文件运行正常。

[root@host1 conf]# ../src/nutcracker -c nutcracker.yml -t
nutcracker: configuration file 'nutcracker.yml' syntax is ok

启动Twemproxy,此时的redis的分片集群搭建已完成。可以通过22122直接访问redis服务【 twemproxy并不支持所有redis/memcache的命令 ,具体请参考https://github.com/twitter/twemproxy/blob/master/notes/redis.md】

简单测试

采用redis-cli客户端登陆22122端口,随机写入一批数据,再通过redis-cli连接具体的redis实例端口,如63791/63792/63793,查看数据是真实的存储在哪一个实例中。

至此,我们已经搭建好一个分片存储的Redis集群应用,为前端提供强劲数据缓存服务

扩展阅读:

Redis + Twemproxy 分片存储实现

长按2秒,识别二维码,关注我。

关注程序员成长


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Windows内核原理与实现

Windows内核原理与实现

潘爱民 / 电子工业出版社 / 2010年4月 / 99.00元

本书从操作系统原理的角度,详细解析了Windows如何实现现代操作系统的各个关键部件,包括进程、线程、物理内存和虚拟内存的管理,Windows中的同步和并发性支持,以及Windows的I/O模型。在介绍这些关键部件时,本书直接以Windows的源代码(WRK, Windows Research Kernel)为参照,因而读者可以了解像Windows这样的复杂操作系统是如何在x86处理器上运行的。 ......一起来看看 《Windows内核原理与实现》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试