关于网络负载均衡器
您可以使用 IBM Cloud® Network Load Balancer for VPC (NLB) 在 VPC 的同一区域内的多个服务器实例之间分发流量。
NLB 可以接受所有三个可用性专区中的成员,但 NLB 本身位于一个特定专区中。 有关更多信息,请参阅 多专区支持。
可以为每个客户分配端口,但在 VP 网关级别没有端口实施。
网络负载均衡器的类型
如 Load Balancers for VPC 概述 中所述,提供了许多类型的 NLB:
- 
              公共-公共负载均衡器是具有向 DNS 注册的公共可访问 IP 地址的负载均衡器。 
- 
              专用-专用负载均衡器仅可从 VPC 网络中访问,其中客户机位于同一 VPC 中或具有可达性 (例如,通过 Direct Link和/或 Transit Gateway)。 对于专用负载均衡器,您必须具有没有为子网配置定制路由的专用子网。 
- 
              启用了路由方式的专用 NLB-启用了路由方式的专用 NLB 仅支持虚拟网络功能 (VNF) 设备作为后端目标。 有关更多信息,请参阅 使用路由方式创建网络负载均衡器。 
- 
              专用路径-服务提供者使用专用路径 NLB 将 IBM Cloud 与 IBM Cloud 专用网络上的第三方 VPC 托管服务安全连接。 当您使用 专用路径服务 将网络流量保留在从不与公用因特网相交的专用路径上时,需要专用路径 NLB。 有关更多信息,请参阅 专用路径解决方案指南。 专用路径 NLB 只能与专用路径服务配合使用。 
入门
要开始使用网络负载均衡器,请执行以下步骤:
- 查看 网络负载平衡器的已知问题。
- 遵循特定 NLB 的指示信息:
负载均衡方法
有三种负载均衡方法可用于在后端应用程序服务器之间分配流量: 循环法,加权循环法和最少连接数。
循环法
循环法是缺省负载均衡方法。 使用这种方法,负载平衡器会以循环方式将进入的客户端连接转发到后端服务器。 因此,所有后端服务器大概会接收到相等数目的客户机连接。
加权循环法
通过这种方法,负载平衡器会根据分配给后端服务器的权重比例,将进入的客户端连接转发给这些服务器。 每台服务器的默认权重为 50,可自定义为 0 - 100 范围内的任意值。
例如,如果应用服务器 A、B 和 C 的权重分别为 60、60 和 30,则服务器 A 和 B 收到的连接数相等,而服务器 C 收到的连接数是前者的一半。
服务器权重值仅适用于加权循环法。 将使用循环法和最小连接负载均衡方法来忽略它们。
将服务器权重设置为 0 意味着不会向该服务器转发新连接,但现有流量会继续流动。 使用 0 的权重可以帮助逐渐降低服务器的性能,并将其从服务轮换中移除。
最小连接数
通过此方法,在特定时间提供最少连接数的后端服务器实例将接收下一个客户机连接。
专用路径 NLB 不支持最小连接方法。
前端侦听器和后端池
前端侦听器是负载均衡器的应用程序端口,用于接收入局请求,而后端池是负载均衡器背后的应用程序服务器。 您最多可以定义 10 个前端监听器,并将它们映射到后端应用服务器上的后端池。 对于公共 NLB,将向公共因特网公开分配给负载均衡器的 FQDN 和前端侦听器端口。 在这些端口上会接收入局用户请求。 TCP 和 UDP 是前端侦听器和后端池支持的协议。
您最多可将 50 个虚拟服务器实例附加到后端池。 流量将发送到其指定数据端口上的每个实例。 该数据端口不必与前端监听器端口相同。
最大连接数
网络负载平衡器没有规定默认连接数或最大连接数。 并发连接总数取决于分配资源和网络吞吐量等因素。
网络负载均衡器的 VPC 表示
图 1 显示了典型网络负载均衡器设置的 VPC 表示。 NLB 是在 VPC 子网上供应的。 要在 NLB 上配置网络数据路径,必须创建侦听器,池和至少一个成员。 侦听器 是 NLB 侦听客户请求的前端端口。 这些请求会被转发到与监听器相关联的目标池中。 池 是一组目标,用于分发进入特定侦听器的 NLB 中的网络请求。 成员 是具有配置为侦听请求的指定端口的后端服务器。
            
              
第 4 层负载均衡
Network Load Balancer for VPC 为 VPC 中的用户服务器提供层 4 (称为传输层) 负载均衡服务。 它根据源和目标 IP 地址以及包头中的端口来确定流量的定向位置。 负载均衡器不会对包的内容执行检查。
由于与更复杂的负载均衡 (例如,层 7) 相比,层 4 负载均衡需要更少的计算,因此更有效地使用 CPU 使用率和内存。
用例 1: 公用网络负载均衡器
公共 NLB 支持直接服务器返回 (DSR)。 应用程序负载均衡器不支持此功能。
图 2 说明了公共 NLB 的工作方式。 使用者使用负载均衡器的 FQDN 向 DNS 注册负载均衡器的 IP 地址。 使用者可选择查询 DNS 服务器。 DNS 使用负载均衡器的 IP 地址进行响应。 使用者向负载均衡器发送 TCP 请求以获取数据,而负载均衡器将该请求转发到后端目标。 目标生成响应,并将该响应直接发送给具有 DSR 的使用者。
            
              
用例 2: 专用网络负载均衡器
专用 NLB 只能从 VPC 网络中访问,其中使用者具有可达性 (例如,通过 Direct Link和/或 Transit Gateway)。
对于专用负载均衡器,您必须具有没有为子网配置定制路由的专用子网。
图 3 说明了专用 NLB 的工作方式。 使用者使用负载均衡器的 FQDN 查询 DNS 以获取负载均衡器的 IP 地址。 使用者可选择查询 DNS 服务器。 DNS 使用负载均衡器的 IP 地址进行响应。 使用者通过直接链路或传输网关向负载均衡器发送 TCP 请求以获取数据,负载均衡器将该请求转发到后端目标。 目标生成响应,并使用 DSR 将响应直接发送给使用者。
            
              
用例 3: 已启用路由方式的专用网络负载均衡器
route_mode 设置为 true 的 NLB 是专用负载均衡器,仅支持虚拟网络功能 (VNF) 设备 (例如防火墙) 作为后端目标。
图 4 说明了具有路由方式的专用 NLB 的工作方式。 使用者使用负载均衡器的 FQDN 查询 DNS 以获取负载均衡器的 IP 地址。 使用者可选择查询 DNS 服务器。 DNS 使用负载均衡器的 IP 地址进行响应。 使用者通过直接链路或传输网关向负载均衡器发送 TCP 请求以获取数据。 负载均衡器将请求转发到 VNF 设备,然后转发到后端目标。 目标将生成响应,该响应将发送回 NLB,然后再次发送到 VNF 设备,然后再返回到客户机。
            
              
用例 4:使用网络负载平衡器实现多区高可用性
图 5 说明了如何部署 NLB 以支持多个区域。 这种部署方案通常需要使用 "IBM Cloud Internet Services(CIS) 中的全局负载平衡器(GLB)选项。
请注意,这种情况有一个 已知的限制:具有相同实例和端口的两个成员不能同时存在,因此请使用具有相同实例的不同端口。
您可能希望利用 NLB 通过 DSR 获得的高吞吐量性能 (和低延迟)。 此外,建议您在多个专区中部署工作负载,以提高其在高可用性 (HA) 环境中的可用性。
您可以使用此部署方案来获取高可用性,并确保在发生负载均衡器故障时跨多个可用性区域提供工作负载。 如果一个可用性区域中的负载均衡器发生故障情况,那么 GLB 将不再向该可用性区域发送流量。 例如,如果可用性区域 1 中发生故障,那么 GLB 会将流量发送到可用性区域 2 或可用性区域 3。 示例场景可以包括大量故障,从单个 NLB 到整个可用性区域的所有故障。
            
              
每个区域一个 NLB 的要求只适用于公共和专用 NLB。 专用路径 NLB 本质上是区域性的,因此无需为每个区域定义一个。
用例 5:专用路径网络负载平衡器
专用路径 NLB 可帮助在 IBM Cloud 基础结构中保留提供者与使用者之间的所有流量检查点。 数据不会退出公共主干。
与其他 NLB 不同,“专用路径”负载平衡器可提供区域可用性,即使选择了单一子网,也能抵御区域故障。 您无需创建多个“专用路径”负载平衡器,也无需指定一个以上的子网来确保区域故障的恢复能力。 子网选择只影响与负载平衡器相关的 IP 地址。
只能将专用路径 NLB 与专用路径服务配合使用。 有关更多信息,请参阅 关于专用路径服务。
图 6 说明了专用路径 NLB 如何支持专用路径服务。 专用路径 NLB 向 DNS 服务器注册。 使用者可选择查询 DNS 服务器。 然后,使用者通过 VPE 网关将针对数据的 TCP 请求发送到专用路径 NLB,而专用路径 NLB 会将该请求转发到目标。 反过来,目标会生成一个响应,该响应通过直接服务器返回发送到 VPE,然后再发送给消费者。