PostgreSQL JDBC驱动故障转移咨询:主节点故障后的连接切换问题
PostgreSQL JDBC驱动主备切换及流量自动切换问题解答
问题1:node1故障、node2升为主节点后,app1是否会自动连接node2写入?
app1使用的连接串参数targetServerType=primary,PostgreSQL JDBC驱动会自动识别集群中的主节点:
- 当原有主节点node1故障后,驱动在现有连接失效或需要建立新连接时,会遍历连接串里配置的所有节点(node1、node2),检测每个节点的角色状态
- 一旦检测到node2已被提升为主节点,驱动会自动将后续写入请求路由到node2,无需手动修改连接串
问题2:node1恢复后,app2是否会自动切换到只读副本?
app2使用的连接串参数targetServerType=preferSecondary,驱动逻辑是优先选择只读副本节点:
- 当node1恢复并重新以只读副本身份运行时(前提是集群已将其配置为副本而非主节点),驱动会在连接池刷新、建立新连接或周期性节点状态检测时,识别到node1的副本角色
- 此时驱动会优先将读取流量切换到node1,仅当所有副本不可用时,才会 fallback 到主节点node2
内容的提问来源于stack exchange,提问作者user3908406
相关产品推荐
相关产品推荐

