DigitalOcean负载平衡器简介

DigitalOcean负载均衡器是一种完全管理的高可用性服务,可将流量分配给Droplet池。提供具有自动故障转移的稳定接口,负载平衡器接受传入流量并将其分配到处理...的后端服务器

介绍

DigitalOcean负载均衡器是一种完全管理的高可用性服务,可将流量分配给Droplet池。 提供具有自动故障转移的稳定接口,负载平衡器接受传入流量并在处理请求的后端服务器之间划分。

这减轻了每个Droplet的负担,并且容易改变后端,而不影响您的服务的可用性。 DigitalOcean负载均衡器可以轻松设置可扩展的基础设施并满足不断变化的需求。

在本指南中,我们将探讨什么DigitalOcean负载平衡器,他们解决什么问题,以及它们如何工作。

什么是DigitalOcean负载均衡器?

DigitalOcean负载平衡器让您轻松地将入站流量分配给后端Droplet。 流量路由由可配置规则控制,规定负载均衡器应监听的端口和协议,以及应选择和转发请求到后端服务器的方式。

关于DigitalOcean负载平衡器的一些事情你应该知道:

  • 价格 :每月$ 20。 不需要额外的带宽费用。
  • 区域可用性 :负载平衡器在每个地区提供。
  • 支持的协议 :HTTP,HTTPS,TCP
  • 平衡算法 :循环,最小连接
  • 后端管理 :手动Droplet选择或基于标记的管理
  • 后端成员资格要求 :所有后端必须位于单个区域中。

负载平衡器可以通过DigitalOcean控制面板或使用DigitalOcean API创建和管理。

为什么需要负载均衡器?

通用术语负载均衡器是指接受网络请求并在可互换后端服务器池中分发它们的流量定向组件。 处理工作负载在一组机器之间共享,而不是依赖于单个服务器来处理每个请求。

将服务放置在负载均衡器后面的主要好处是:

  • 可用性:负载平衡可以帮助将服务健康与单台机器的健康状况分离。 如果应用程序或Web服务器在单个计算机上崩溃,负载均衡器可以将流量引导到其他位置,直到服务恢复。 当负载均衡器本身具有内置故障转移机制时,服务中断的机会甚至会更少。
  • 性能:在一组后端服务器之间划分传入流量有助于防止任何一台机器被请求所淹没。 每个后端服务器只接收传入请求的一部分,这意味着每个机器上有更多的资源可用。
  • 灵活性:使用负载均衡器作为网关,可以灵活地随意更改后端基础结构。 这可以帮助任何事物无缝地部署到大型架构重新设计。 您还可以通过调整后端服务器数量来轻松扩展基础架构。

DigitalOcean的负载均衡器服务在完全管理的环境中提供了上述优势。 用户可以修改负载平衡器行为以满足其需要,而无需管理操作复杂性的负担。

负载平衡器特性

除了基本的流量定向功能,DigitalOcean负载平衡器提供以下优点。

高可用性

DigitalOcean负载平衡器监视后端Droplet以确保每个服务运行正常。 用户可以定义健康检查端点,并在构成健康响应的周围设置参数。 负载平衡器将自动删除无法运行状况检查的计算机,直到这些运行状况检查指示服务已恢复。

DigitalOcean负载平衡器运行状况检查

虽然这有助于确保后端池的运行状况,但负载均衡器本身也必须响应故障。 DigitalOcean负载平衡器配置有自动故障转移功能 ,以便即使在平衡层发生故障时也能保持可用性。 在内部,如果必要,主动平衡组件被监视并故障切换到备用。 您可以增加您的基础设施,而不引入新的单点故障。

灵活的多协议路由

单个DigitalOcean负载平衡器可以配置为处理多个协议和端口。

HTTP平衡

标准HTTP平衡根据标准HTTP机制定向请求。 负载平衡器设置X-Forwarded-ForX-Forwarded-ProtoX-Forwarded-Port头,以向后端提供有关原始请求的信息。 如果用户会话依赖于始终连接到同一后端的客户端,则可以向客户端发送cookie以启用粘性会话

HTTPS平衡

除了所有的HTTP平衡特性之外,HTTPS平衡还提供加密。 DigitalOcean负载平衡器能够根据您的需要处理几种不同配置的HTTPS流量。

一个选项是允许负载平衡器简单地接受和转发HTTPS加密的流量到您的后端Droplets。 这被称为SSL传递 ,如果您需要端到端加密并希望在各种机器之间传播SSL开销,这是一个很好的选择。

DigitalOcean负载平衡器SSL直通

负载平衡器也可用于SSL卸载,成为所谓的SSL终止点。 负载平衡器本身处理SSL开销,通过HTTP将解密的请求发送到后端计算机。 在此配置中,用户将其SSL证书和私钥添加到负载均衡器本身。 这些秘密被放置在安全,加密的存储系统中,任何人都无法访问,包括DigitalOcean工作人员。

您可以通过转到设置>安全> TLS / SSL证书,在您的帐户中管理SSL证书

此外,负载平衡器可以配置为将端口80上的HTTP流量重定向到端口443上的HTTPS。这样,负载平衡器可以监听两个端口上的流量,但重定向未加密的流量可以获得更好的安全性。

TCP平衡

最后,TCP平衡可用于不使用HTTP的应用程序。 例如,在像Galera这样的数据库集群前部署负载均衡器将允许跨所有可用计算机传播请求。

基于标签的管理

有两种不同的方法来定义负载平衡器的后端Droplets。 第一种是使用控制面板或API通过名称向负载平衡器显式添加所需的Droplet。

DigitalOcean负载均衡器添加名称

但是,管理后端的更强大的方法是通过标签选择。 代替选择单个Droplet,可以使用单个标签作为选择标准。 负载平衡器在运行时评估标记,这意味着每当从Droplet添加或删除标记时,负载平衡器将相应地调整路由,而无需进一步配置。

DigitalOcean负载均衡器添加标签

这使得通过从Droplet中添加或删除标记来缩放后端非常简单。 可以通过从Droplet中删除标记,应用更新并重新应用标记来配置滚动部署。 一旦Droplet通过其健康检查,就可以以相同的方式更新下一个服务器。

在DigitalOcean控制面板中管理负载平衡器

负载平衡器可在DigitalOcean控制面板中通过单击顶部菜单中的网络,然后选择负载平衡器

DigitalOcean负载平衡器

我们将给你一个快速浏览下面的基本接口。 其他程序指南在本文结尾处链接。

创建新的负载平衡器

单击创建负载均衡器按钮以创建新的负载均衡器:

DigitalOcean创建新的负载均衡器

您将转到负载平衡器创建屏幕,您可以在其中为负载平衡器选择名称。 名称可以由字母,数字,句点和短划线组成。 创建后,可以随时通过单击“负载平衡器”页面上的现有名称来更改此名称:

DigitalOcean负载均衡器选择名称

Droplet后端可以在创建期间添加,或者可以推迟到以后的时间。 由于负载平衡器及其后端仅限于单个DigitalOcean区域,因此选择要部署负载平衡器的区域是此步骤所需的最低操作。

如果您想在创建过程中选择后端,您的第一个选项是按名称选择Droplets。 选择第一个Droplet将自动选择适当的区域:

DigitalOcean负载均衡器添加名称

或者,您可以选择标记,然后按区域过滤。 具有该标记的所选区域中的任何Droplets将被添加为后端。 在操作期间,Droplet标记更改会立即反映到负载平衡器中:

DigitalOcean负载均衡器添加标签

如果在添加到负载平衡器时,在有问题的Droplet上启用,负载平衡器将通过专用网络连接到后端。 如果禁用了专用网络,负载均衡器将使用其公共IP地址联系Droplet。

接下来,定义负载均衡器转发规则。 每个规则的左侧定义负载均衡器本身上的监听端口和协议,而右侧定义请求将路由到后端的位置和方式。

默认情况下,会定义将负载平衡器上的HTTP端口80路由到后端HTTP端口80的规则:

DigitalOcean负载平衡器默认规则

创建负载平衡器需要至少一个规则。 如果需要,您可以使用下拉菜单更改监听协议和后端协议,并使用两个端口字段更改端口映射。 如果使用HTTPS,将另外要求您提供证书文件配置SSL传递 您可以使用“ 新建规则”下拉菜单添加任何其他规则。

单击编辑高级设置允许您修改负载均衡器的一些其他参数(默认值在大多数情况下工作良好):

DigitalOcean负载平衡器编辑高级设置

选项是:

  • 算法 :默认轮循算法会依次向每个可用的后端发送请求。 备选的最小连接算法向具有最少数量的活动连接的后端发送请求。
  • 粘滞会话 :如果您的应用程序的会话依赖于为每个请求连接到同一个后端,则可以启用粘性会话。 这将设置一个具有可配置名称和TTL(以定义cookie有效的时间)的Cookie,以便负载均衡器可以将未来的请求发送到同一台计算机。
  • 运行状况检查 :负载平衡器只会将请求转发到健康的后端。 您可以修改负载均衡器用于删除和重新添加后端的标准,以及它检查响应的端点。
  • SSL重定向 :您可以通过启用此选项将端口80上的HTTP请求重定向到HTTPS端口443。

选择设置后,可以单击创建负载均衡器开始创建过程。 负载平衡器将需要几分钟时间才能置备。

之后,它将开始检查后端Droplets的健康。 一旦后端通过健康检查所需的次数,它们将被标记为正常,并且负载平衡器将开始转发请求给他们。

管理现有负载平衡器

可以通过转到负载平衡器索引页面来管理现有负载平衡器。 单击顶部菜单上的网络,然后单击加载平衡器

将显示您现有的所有负载平衡器:

DigitalOcean现有负载平衡器

单击单个负载均衡器名称以查看当前连接到该负载均衡器的Droplet:

DigitalOcean负载均衡器详细信息

点击Droplet名称可以转到Droplet的详细信息页面。 如果您按名称管理后端Droplets,则可以通过单击添加Droplet按钮添加其他Droplet 如果您是按代码管理,则会改为使用“编辑代码 ”按钮更改选择器代码。

单击图表选项卡以获得流量模式和基础设施运行状况的可视化表示:

DigitalOcean负载平衡器图

前端部分保存与负载均衡器本身的请求相关的图形,而其下面的Droplets部分提供了对每个Droplet处理的流量的了解。

单击设置可让您修改负载平衡器的工作方式:

DigitalOcean负载均衡器设置

您将能够修改在创建过程中选择的几乎所有设置。 此外,您可以在此处删除负载平衡器,如果不再需要它。

管理SSL证书

使用负载平衡器进行SSL终止时,必须将SSL证书,私钥和证书链上传到您的DigitalOcean帐户。 这些秘密被放置在安全,加密的存储系统中,任何人都无法访问,包括DigitalOcean工作人员。

可以在负载均衡器创建过程中或提前通过单击右上角的用户图标并选择设置来添加必要的SSL文件。 在设置页面上,从左侧菜单中选择安全

DigitalOcean安全设置

TLS / SSL证书部分中,您可以查看现有证书。 您提供每个证书的名称和证书的SHA1指纹也可用。 您可以在证书所在的计算机上键入以下命令,找到证书的指纹与控制面板中的值进行比较:

openssl x509 -noout -sha1 -fingerprint -in certificate_file.pem

要提前添加新证书,请单击添加证书 系统将提示您选择一个名称,然后输入证书,私钥和证书链以继续。 这些文件必须以PEM格式输入才能接受:

DigitalOcean负载均衡器新SSL证书

要删除证书,请单击更多 ,然后单击证书列表中的删除

DigitalOcean删除SSL证书

证书将从您的帐户中移除。

从哪里去

您现在应该对DigitalOcean负载均衡器有什么以及如何使用它们有一个大致的了解。 有关如何将负载平衡器与基础结构集成的更多具体信息,请参阅以下指南: