vert.x缺陷---不支持redis的哨兵模式(v3.5.2)-Sentinel unreachable. ERR unknown command `SELECT`, with args

总览

redis的哨兵模式,不做过多解释,可以网上自行搜索,仅仅说明一些和本缺陷有关的内容吧:哨兵是负责放哨的,它本身不负责操作数据,并且redis本身的节点都是也是主从,每一个节点都会一个哨兵,它们的端口号不同。客户端在连接的时候,配置的是哨兵的地址,连接有两个过程:

  1. 连接哨兵,验证密码,然后通过主节点名称去咨询主节点的IP和端口。
  2. 客户端拿到主节点地址后,然后再去真正的操作数据。

这次就只强调这两个过程吧,因为vertx的缺陷和这个有关系。目前还没有调研最新的版本有没有解决这个问题,就当记录一个疑难问题的分析和解决过程了。

问题描述

从配置上支持了哨兵,vertx那边也提供了一些API吧,在redisOptions里面,如下:

		RedisOptions options = new RedisOptions();
		String masterNames = info.getMasterNames();
		if (masterNames != null && masterNames.trim().length() != 0) {
   
			options.setMasterName(masterNames);
		}
		String nodesStr = info.getNodes();
		String[] nodesArray = nodesStr.split(",");
		List<String> nodes = Arrays.asList(nodesArray);
		if (nodes != null && nodes.size() > 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值