可用性组侦听器

Tim*_*ham 9 sql-server sql-server-2012 availability-groups

我正在查看 AlwaysOn 可用性组。我越看它就越发现可用性侦听器组是单点故障。侦听器究竟在哪里运行?一个单独的服务器,主SQL服务器,所有这些?

假设我在我的第二个数据中心有一个完整的应用程序堆栈。如何配置侦听器,以便它们在两个站点上运行并且应用程序将指向它们自己的本地副本?

我确定我在这里遗漏了一些东西,但我不知道是什么。

Kri*_*yer 10

AG 侦听器是虚拟网络名称 (VNN) 或虚拟 IP (VIP)。

可用性组侦听器是一个虚拟网络名称 (VNN),客户端可以连接到该名称以访问 AlwaysOn 可用性组的主要或次要副本中的数据库。

您将应用程序指向侦听器(已向 DNS 注册)并引导 AG 中的流量。因此,除非您的所有 DC 都同时宕机,否则您的冗余就是 DC/DNS 服务器的数量。

可用性组侦听器由域名系统 (DNS) 侦听器名称、侦听器端口指定和一个或多个 IP 地址组成。可用性组侦听器仅支持 TCP 协议。侦听器的 DNS 名称在域和 NetBIOS 中也必须是唯一的。当您创建新的可用性组侦听器时,它会成为集群中具有关联虚拟网络名称 (VNN)、虚拟 IP (VIP) 和可用性组依赖项的资源。客户端使用 DNS 将 VNN 解析为多个 IP 地址,然后尝试连接到每个地址,直到连接请求成功或连接请求超时。

这篇 MSDN 文章(我引用了它)应该是一个很好的起点,确切地说,AG 侦听器是什么。

https://msdn.microsoft.com/en-us/library/hh213417.aspx

  • 它是应用程序和服务的一致连接点。使用镜像等技术,如果主服务器不可用,您必须在连接字符串中指定辅助服务器。对于侦听器,名称永远不会改变,只是它下面的主要变化。因此,当您进行故障转移时,该过程对应用程序来说是无缝且透明的(主要是)。 (3认同)
  • @EdgarAllanBayron - 集群 IP 是 WSFC 本身使用的内部 IP。侦听器 IP 是允许连接到 SQL Server 的不同 IP。它们是 2 个独立的 IP。 (2认同)

小智 5

侦听器是 AG 所基于的 WSFC 内的故障转移资源。它将跟随主副本进行故障转移,因此该部分存在一些冗余。如前所述,DNS 端基于您的 AD 基础设施和 DNS 正常运行时间。

在辅助数据中心的示例中,您需要将 WSFC 配置为多子网配置,从而允许侦听器在数据中心的两个子网中保留 IP。如果 AG 故障转移到辅助 DC,则您的侦听器将在该子网下变为活动状态。您的应用程序只会看到 IP 在辅助 DC 中上线的停机时间,然后副本也会切换。