SpringSide封装的SentinelPool咨询

zgw06629 发布于 2015/01/11 18:08
阅读 830
收藏 0

@江南白衣 你好,想跟你请教个问题:

创建一个SentinelPool,showcase中的demo是这样的:


String sentinelUrl = "sentinel://127.0.0.1:26379,127.0.0.1:36379,127.0.0.1:46379?poolName=SpringSideSentinelPoolDemo&masterName=mymaster&pollSize=100";
final JedisPool sentinelPool = new JedisPoolBuilder()
.setUrl(sentinelUrl).setPoolSize(1).buildPool();


往里面看了下代码发现有点复杂。


但是我现在在项目中使用SentinelPool,是直接使用官方JedisSentinelPool,


如:
 String masterName = "mymaster";
Set<String> sentinels = Sets.newHashSet("127.0.0.1:26379","127.0.0.1:36379","127.0.0.1:46379");
final JedisSentinelPool sentinelPool = new JedisSentinelPool(masterName, sentinels);


使用过程中发现没有什么问题啊, 比如在本地测试时显式shutdown master,能成功切换到一个新master。唯一的麻烦是需要捕捉JedisConnectionException,休眠一段时间(down-after-milliseconds+1000),然后继续即可。


不知Springside封装的SentinelPool相比官方有什么不同?什么场景适合使用Springside封装的SentinelPool呢?

以下是问题补充:

@zgw06629:另外使用官方JedisSentinelPool时,需要显式捕捉JedisConnectionException,并需要休眠down-after-milliseconds+1000 ms, 然后继续, 这个方法总感觉不可靠,不知有没更好的建议?谢谢! (2015/01/11 18:12)
加载中
返回顶部
顶部