Jedis分片Sentinel连接池实验
1.起因
众所周知,Redis官方HA工具Sentinel已经问世很久了,但令人费解的是,Jedis官方却迟迟没有更新它的连接池。到目前Maven库中最新的2.7.3版本为止,都只能要么使用分片连接池,要么使用不分片的Sentinel连接池。如果既进行了Sharding,又对每组的主从实例配置Sentinel进行监控,怎么办?答案是只能自己开发了,晕!还好万能的GitHub上已经有人提供了一个简单可用的分片Sentinel连接池实现,于是就直接拿来用用。
2.Sentinel配置
我的Redis是这样配置的:一个主6379带一个从16379,名字叫mymaster-6379;另一个主6380带另一个从16380,名字叫mymaster-6380。Sentinel按照惯例,起三个实例26379,26380,26381。以其中一个为例,其他的Sentinel配置只是端口号不同:
port 26379
dir /tmp
sentinel monitor mymaster-6379 192.168.241.220 6379 2
sentinel down-after-milliseconds mymaster-6379 30000
sentinel parallel-syncs mymaster-6379 1
sentinel failover-timeout mymaster-6379 180000
sentinel monitor mymaster-6380 192.168.241.220 6380 2
sentinel down-after-milliseconds mymaster-6380 30000
sent