第十四章 镜像架构和规划 - 镜像流量压缩

第十四章 镜像架构和规划 - 镜像流量压缩

镜像流量压缩

创建或编辑镜像时(分别参见创建镜像和配置第一个故障转移成员或编辑或删除故障转移成员),可以选择从主要成员到备份成员以及从主要成员到异步成员的镜像流量的压缩模式, 如下:

  • System Selected — 使用最适合大多数环境的压缩策略。当传输到备份成员时,这意味着假设一个高带宽、低延迟的连接并优化响应时间;也就是说,日志数据在传输之前被压缩,这将减少同步故障转移成员所需的时间。传输给异步成员时,意味着优化网络利用率。 System Selected 是故障转移成员和异步的默认设置。

目前,对于传输到备份,此设置导致仅当镜像需要 TLS 时才使用 LZ4 压缩,如使用 TLS 安全保护镜像通信中所述;对于异步传输,始终使用 Zstd 压缩。随着时间的推移,这种行为可能会根据用于分析网络环境和优化压缩行为的改进机制而改变。

  • 未压缩 — 从不压缩镜像流量。
  • 压缩 — 始终压缩镜像流量。选择此设置时,必须选择以下三种压缩类型之一:zlib(默认)、ZstdLZ4

当由于系统选择模式或用户在压缩模式下的选择而使用 ZstdLZ4 压缩,并且接收系统不支持该类型时,将使用 zlib 压缩。

如果绝大多数数据库更新包含已经高度压缩或加密的数据,而压缩的整体效率预计非常低,则选择未压缩是可取的。在这种情况下,CPU 时间可能会浪费在压缩上。示例包括压缩图像、其他压缩媒体或在设置到数据库之前加密的数据(使用 IRIS 数据元素加密或其他加密方法)。使用 IRIS 数据库加密或日志加密不是选择压缩的一个因素。

压缩和 TLS 加密都会引入一些影响吞吐量和延迟的计算开销。每个引入的开销是相似的,但是当使用 TLS 加密时,添加压缩实际上可以减少开销并通过减少需要加密的数据量来提高性能。具体细节因操作系统、CPU 架构和应用程序数据的可压缩性而异。进一步来说:

  • 由于压缩数据所需的计算时间,使用压缩和/或 TLS 加密可能会限制传输速率;最大传输速率受限于最大压缩率。对于大多数配置,压缩和 TLS 加密所施加的最大传输速率远高于镜像所需的实际最大吞吐量。例如,在撰写本文时的典型系统上,压缩和加密的计算速率可能在每秒 100 MB 的范围内,这是大型企业应用程序的峰值日志创建速率的数倍。
  • 使用压缩和/或 TLS 加密会引入“计算延迟”,该延迟会添加到网络延迟中(请参阅网络延迟注意事项)。对于大多数应用程序而言,这可以忽略不计。如果配置需要比启用压缩和/或 TLS 加密所能达到的吞吐量更高的吞吐量,则必须禁用它们(TLS 仍可用于身份验证)并且必须提供足够的带宽来进行无压缩的峰值传输。

镜像成员网络地址

镜像成员使用多个网络地址相互通信。这些在本节中进行了描述,并在示例镜像体系结构和网络配置中引用。请注意,相同的网络地址可能用于此处描述的部分或全部镜像地址。

  • 镜像私有地址

当一个 IRIS 实例作为主要故障转移成员运行时,每个其他镜像成员都使用镜像专用地址来建立其镜像数据通道,该通道用于从主要和最频繁使用的镜像通信通道接收日志数据.尝试成为备份的第二个故障转移成员必须连接到此地址。这适用于提升为故障转移成员的 DR 异步;如果提升的 DR 无权访问其他故障转移成员的私有地址,则当其他故障转移成员关闭时,它仍然可以成为主要的,但不能成为备份。

primary 也可以使用镜像私有地址来监控异步成员。

异步成员尝试连接到主服务器的镜像私有地址,但如果它们无法通过镜像私有地址到达主服务器,则会回退到主服务器的超级服务器地址。正因为如此,并且因为 ISCAgent 可以将日志数据发送到其他镜像成员,所以在某些情况下,日志数据确实会通过镜像专用网络以外的网络传输。

注意:使用管理门户将异步成员添加到镜像时(请参阅配置异步镜像成员),输入异步成员地址;在此提示中提供的地址将成为异步成员的镜像私有地址和超级服务器地址。如果希望这些不同,可以在将主服务器添加到镜像后更新主服务器上的异步地址。

  • 超级服务器地址/端口

外部镜像感知系统可以使用此地址连接到主系统。目前唯一的此类外部系统是镜像分布式缓存集群中的应用程序服务器(请参阅在故障转移或灾难恢复后重定向应用程序连接),尽管将来这可能会扩展到其他连接。其他镜像成员也可能出于某些控制和监视目的而连接到成员的超级服务器地址;例如,主节点可以使用此地址来监视异步成员。如果主节点的镜像私有地址不可访问,则异步成员会尝试使用此地址建立到主节点的数据通道,这意味着日志数据可能会通过此网络传输。

  • 代理地址/端口

尝试联系该会员的代理人时,其他会员会先尝试使用该地址。当此地址不可访问时,关键代理功能(例如那些涉及故障转移决策的功能)将在镜像私有地址和超级服务器地址(如果不同)上重试。因为代理可以将日志数据发送给其他成员,所以日志数据可以通过该网络传输。

  • 虚拟 IP (VIP) 地址

如果您正在使用规划镜像虚拟 IP (VIP) 中所述的虚拟 IP (VIP) 地址,则必须在创建或编辑主要故障转移成员时输入 VIP 地址。作为成为主要部分的一部分,主要部分动态地使用此地址注册自己;两个故障转移成员必须位于与 VIP 关联的网络的同一子网上,以便备份可以在故障转移期间获取 VIP。管理员通常会在 DNS 服务器上为 VIP 地址提供一个 DNS 名称。这个地址不应该在镜像配置的其他地方使用(也不应该作为应用程序服务器连接的地址;ECP 有自己的使用超级服务器地址查找主服务器的机制)。

  • 仲裁地址/端口(传出)

故障转移成员用于连接仲裁器的地址;该地址是在创建或编辑主要故障转移成员时配置的。有关仲裁器网络位置的重要信息,请参阅定位仲裁器以优化镜像可用性。

虽然为此处描述的地址之间的镜像通信配置 TLS 是可选的,但强烈建议这样做,因为敏感数据在故障转移成员之间传递,并且 TLSISCAgent 提供身份验证,它提供对日志文件的远程访问并可以强制关闭系统或操纵其虚拟 IP 地址。如果实例启用了日志加密并且您将其设为镜像的主要故障转移成员,则必须将镜像配置为使用 TLS

猜你喜欢

转载自juejin.im/post/7216942649068650553