-
该类在初始化的时候,会将监视redis主从的sentinels放入一个list。
-
遍历该list,向sentinel发送一个命令:获取指定masterName的地址,而且只要有一个sentinel响应就终止循环。
-
根据上面获取的masters地址,与masters建立连接并初始化GenericObjectPool,由它来获取Jedis实例。
-
与此同时,客户端与sentinel之间,创建一个消息订阅,如果sentinel所监控的master有改变,则立刻触发initPool方法,重置master的地址。
-
由此可以解释,为什么master的客户端连接数比sentinel高,sentinel只是监视作用,告知你master在哪里,实际上还是得直接与master创建连接。
JedisSentinelPool源码总结
最新推荐文章于 2021-07-22 10:28:31 发布