【问题标题】:For connection strings, in a High Availability setup, how does the routing work?对于连接字符串,在高可用性设置中,路由如何工作?
【发布时间】:2021-11-26 01:51:39
【问题描述】:

我相信部分答案是,它连接到一个侦听器服务器,该服务器重定向到一个真实的数据库。

比如说,一个连接字符串是

data source=SQLCL01;initial catalog=UserDatabase;user id=test-user;password=##pass##;MultipleActiveResultSets=True

SQLCL01 是一个监听器,我猜它会路由到该组中的一个真实数据库,但是如果 SQLCL01 死了会发生什么?连接不会中断吗?如果那里存在单点故障,这如何作为 HA 工作?

我知道有些数据库有 8 台服务器。他们是否担心 SQLCL01 的单个侦听器会宕机?还是我们设置多个监听器,可以在连接字符串中传入两个?

【问题讨论】:

  • 这是给 dba.stackexchange.com 的
  • 不认为 dba 是程序员,所以可能不知道?显然有些交叉?
  • 这对 S.O. 中的其他用户没有用处。请阅读 Stack Overflow 的指南和教程。这与编程无关,即使使用“connectionString”也是如此。甚至,这与.net无关

标签: sql-server availability-group


【解决方案1】:

假设 HA 实施是可用性组,侦听器是作为 Windows 故障转移群集资源管理的 ANAME。在故障转移时,侦听器在重新计算仲裁并且正在进行故障转移时确实会暂时关闭。但它会出现在新的主节点上。

您的问题暗示了一个常见的误解——“高可用性”并不意味着“100% 正常运行时间”。它通常意味着这样描述的系统具有容错性,并且重新建立服务的时间比没有 HA 的情况要短得多。

【讨论】:

  • 一个 ANAME 路由到单个 IP。由于所有 DNS 都使用 TTL 进行缓存,因此如果该单个 IP 出现故障,您的停机时间将平均为 0.5 * 您的 TTL。除非您运行的 TTL 非常低,否则这将如何帮助您减少停机时间?
  • 几件事。首先,ANAME 不需要路由到单个 IP;搜索“多子网侦听器”。其次,如果两个节点在同一个子网上,新的主节点将承担集群资源的所有权,客户端将相应地重定向。第三,即使侦听器的 IP 由于故障转移而发生变化,Windows 集群也会将 ANAME 的 IP 更改为所需的任何值。
猜你喜欢
  • 2020-02-09
  • 1970-01-01
  • 2020-09-18
  • 1970-01-01
  • 2014-01-23
  • 2020-08-18
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多