前言
简单介绍一下客户端的哨兵模式连接。
正文
Sentinel节点集合具备了监控、通知、自动故障转移、配置提供者若干 功能,也就是说实际上最了解主节点信息的就是Sentinel节点集合,
而各个 主节点可以通过
下面用java例子。
1)遍历Sentinel节点集合获取一个可用的Sentinel节点
2)通过sentinel get-master-addr-by-name master-name这个API来获取对应 主节点的相关信息
3)验证当前获取的“主节点”是真正的主节点,这样做的目的是为了防 止故障转移期间主节点的变化
前面的两个不说也知道,但是第三个可能一下子想不到怎么验证的。
通过连接该节点,来获取info信息,判断是否是主节点。
4)保持和Sentinel节点集合的“联系”,时刻获取关于主节点的相关“信 息”
然后运行一下。
报错了,为什么会这样呢? 其实问题也是很明显的,获取的是docker。而docker 是内网。
现在用一种比较简单的方式解决。
更改配置如上。
然后试一下。
然后就运行成功了。
结
下一节,介绍一下哨兵原理。