模拟高并发环境下的Redis集群搭建

       前文已经总结了Redis的安装与简单使用https://blog.csdn.net/sunroyfcb/article/details/80979399,本篇将模拟高并发环境下的Redis集群搭建。

       首先要搞明白为什么要搭建Redis集群,毫无疑问是为了解决Redis动态扩容和高可用的实现。采用Redis分片是一个有效的实现Redis动态扩容的措施,分片可以根据哈希一致性算法将数据均匀的分配到不同的节点中,使数据分散保存,但是一旦一台Redis服务器宕机,整个分片都不能正常使用。哨兵机制的出现似乎完美的解决了宕机的问题,派一个哨兵来监视,将坏掉的物理机剔除,可初步实现高可用,但是哨兵若是发生宕机,则会影响整个Redis服务。因此,对这两者进行了一个结合升级,它不仅可以实现动态扩容,同时使用ruby组件代替哨兵,实现Redis的高可用。

       下面来模拟搭建一个包含9个redis的集群,其中有三台主机,每台主机搭配两台从机:

一.在redis的根目录中创建文件夹cluster,并且在cluster文件夹中创建9个文件夹分别保存9个redis节点数据,分别为7000-7008

二.修改redis配置文件

1.将绑定IP注释

2.关闭保护模式

3.修改服务端口号

4.开启后台启动

5.修改PID保存位置

6.修改持久化文件路径

7.修改内存策略

8.开启集群配置

9.配置node节点的名称

10.开启集群超时设定

三.复制并修改其余配置文件

       执行cp 7000/redis.conf 7001/redis.conf等八条命令,将配置文件复制到其余的文件夹中。将7000-7008中的配置文件修改正确,主要修改端口号和配置文件的名称等。可以采用命令“:%s/7000/7001/g”快速在文件中进行替换。

四.批量启动redis

五.编辑创建集群的命令,其中的2表示主机配置两台从机

./src/redis-trib.rb create --replicas 2 192.168.217.135:7000 192.168.217.135:7001 192.168.217.135:7002 192.168.217.135:7003 192.168.217.135:7004 192.168.217.135:7005 192.168.217.135:7006 192.168.217.135:7007 192.168.217.135:7008

六.执行命令集群创建命令,集群搭建成功

       集群搭建完毕后,进行单元测试得到结果:

@Test
public void test04(){
	Set<HostAndPort> nodes = new HashSet<HostAndPort>();
	nodes.add(new HostAndPort("192.168.217.135", 7000));
	nodes.add(new HostAndPort("192.168.217.135", 7001));
	nodes.add(new HostAndPort("192.168.217.135", 7002));
	nodes.add(new HostAndPort("192.168.217.135", 7003));
	nodes.add(new HostAndPort("192.168.217.135", 7004));
	nodes.add(new HostAndPort("192.168.217.135", 7005));
	nodes.add(new HostAndPort("192.168.217.135", 7006));
	nodes.add(new HostAndPort("192.168.217.135", 7007));
	nodes.add(new HostAndPort("192.168.217.135", 7008));
    JedisCluster jedisCluster = new JedisCluster(nodes);
	jedisCluster.set("Redis", "Redis集群入门");
	String result = jedisCluster.get("Redis");
	System.out.println(result);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值