我在yaml文件中有Redisson集群配置,

subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 32
slaveConnectionPoolSize: 64
masterConnectionMinimumIdleSize: 32
masterConnectionPoolSize: 64
readMode: "SLAVE"
subscriptionMode: "SLAVE"
nodeAddresses:
- "redis://X.X.X.X:6379"
- "redis://Y.Y.Y.Y:6379"
- "redis://Z.Z.Z.Z:6379"

我知道在配置中给出一个主节点ip地址就足够了,Redisson会自动识别集群中的所有节点,但我的问题如下,

1是否在应用程序启动时识别所有节点并将其用于将来的连接?

2如果其中一个主节点发生故障,当应用程序运行时,对特定主节点的请求将失败并且redisson api自动尝试联系其他节点(主节点)或者它是否尝试重复连接到同一主节点失败?

3提供DNS而不是服务器IP是最佳做法吗?