redis 分布式中间件设计分析

redis 分布式中间件设计分析

一、客户端bean实例化的时候

1、读取配置文件,从配置文件中获取哨兵,分片等信息

2、访问哨兵,根据分片masterName 从哨兵中获取主机和丛机ip及端口号数据

3、依赖jedis组件,重新封装Jedis 和 JedisPool 类,使之能够根据读写策略,读的时候随机选择主机或者丛机进行读,写的时候选择主机进行写

4、重新封装ShardedJedis,使其能够根据key进行分片,且采用一致性hash算法进行分片计算

5、添加zk对应的配置文件节点监听,当节点数据发生变化时,重新根据redis连接资源

6、对每个shard添加订阅主从变更数据的监听,当收到sentinel主从变更单数据后,对于该shard的连接资源信息进行更新

二、进行redis 操作的时候

1、先根据key判断路由到哪个shard

2、然后根据读写策略从该shard中找到对应的主机或者丛机的连接资源

3、最后进行操作

4、操作完后归还redis操作的连接资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值