主服务器组关闭时的Redisson群集配置

时间:2018-09-21 08:53:53

标签: redisson

我在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?

1 个答案:

答案 0 :(得分:0)

回答您的问题:

  1. 是的,所有节点都在引导过程中标识。如果使用Config.readMode = MASTER_SLAVE or SLAVE (which is default),则将使用所有节点。如果您使用Config.readMode = MASTER,则仅使用主节点。

  2. Redisson尝试到达主节点,直到Redis拓扑更新为止。到那一刻为止,它还没有有关当选新主节点的信息。

  3. AWS Elasticache和Azure Cache之类的云服务提供了绑定到多个IP地址的单个主机名。