引言

Digitalocean 负载均衡器允许您在多个后端服务器之间分割传入的流量。 这通常用于在一组应用服务器之间分发 HTTP 请求,以增加总体容量。 这是扩展应用程序的常用方法。

负载均衡器还提供其他用例。 例如,它们可以增加站点的可靠性,或者改进部署和测试过程。 在本教程中,我们将回顾五个负载均衡器用例。

在我们开始之前,你应该通过阅读我们的教程来熟悉 DigitalOcean 负载均衡器的基础知识。

1. 衡量的负载平衡

如上所述,伸缩性流量是负载均衡器最常用的用例。 通常在垂直和水平方面讨论缩放时间。 垂直扩展基本上是将应用程序移动到更强大的服务器,以满足不断增长的性能需求。 水平扩展是在多个服务器之间分配流量以共享负载。 负载均衡器有助于水平扩展。

Digitalocean 负载均衡器允许您通过两种不同的算法来分配负载: 轮询和最少的连接。 轮询将依次向每个可用的后端服务器发送请求,而最少的连接将向连接最少的服务器发送请求。 循环调度是目前为止最常用的负载平衡方案,但是如果你有一个应用程序,保持连接长时间开放,至少连接可以做一个更好的工作,防止任何一个服务器变得过载。

使用负载平衡器进行水平扩展的另一个好处是有机会提高服务的可靠性。 接下来我们会讨论这个问题。

相关教程:

  • 如何创建你的第一个数字式负载平衡器
  • 如何使用数字负载均衡器平衡 TCP 流量

2. 高可用性

高可用性是一个术语,用来描述为减少停机时间和提高系统可靠性所做的努力。 这通常是通过改进性能和消除单点故障来解决的。

负载均衡器可以通过在后端服务器上执行重复的健康检查并自动从池中删除失败的服务器来提高可用性。

可以在负载均衡器控制面板的设置区域定制健康检查:

默认情况下,负载均衡器将每十秒获取一个网页,以确保服务器正常响应。 如果连续三次失败,服务器将被删除,直到问题得到解决。

相关教程:

  • 什么是高可用性?

3. 蓝色 / 绿色部署

蓝色 / 绿色部署指的是一种技术,您可以在生产基础设施上部署新软件,对其进行彻底测试,然后在验证一切正常运行之后才切换到它。 如果部署以新的和意外的方式失败,您可以通过将负载均衡器切换回旧版本来轻松恢复。

Digitalocean Load balaners 通过使用“液滴”标签功能使蓝色 / 绿色部署变得简单。 负载均衡器可以基于它们的标签向一组服务器发送流量,所以你可以有一组被标记为蓝色而另一组被标记为绿色。 当需要切换时,切换负载均衡器控制面板中的标签或通过 API:

保存更改后,流量将迅速切换到新的液滴集。

相关教程:

  • 如何使用蓝绿部署安全发布软件

4. 金丝雀部署

金丝雀部署是在更新整个应用程序服务器池之前,在用户子集上测试应用程序新版本的一种方式。 使用 DigitalOcean 负载均衡器,你可以这样做,例如,只需要在你的负载均衡器池中添加一个金丝雀服务器。 如果通过日志记录和监视基础结构没有看到错误或其他不希望看到的结果增加,那么可以继续向池的其余部分部署更新。

你需要为这个用例打开粘性会话,这样当你通过负载平衡器建立新的连接时,你的用户就不会在不同版本的应用程序之间来回跳转:

Sticky session 将使用 cookie 来确保来自特定浏览器的未来连接将继续路由到相同的服务器。 您可以在负载均衡器的控制面板的高级设置区域访问此功能。

5. a / b 部署

A / b 部署在功能上与金丝雀部署相似,但目的不同。 A / b 部署在部分用户上测试一个新特性,以便收集信息,为您的营销和开发工作提供信息。 您需要结合现有的监视和日志基础设施来完成这项工作,以获得有意义的结果。

在服务器端,您将向现有的 a 服务器池中添加一个或多个 b 服务器。 如果您需要启动多个 b 服务器来收集足够的数据,您可以使用标记组织这些数据,就像我们对蓝色 / 绿色部署所做的那样。

总结

尽管在需要扩展时,负载均衡器是最常被考虑的,但是我们已经展示了在许多其他情况下,在不同的后端服务器之间分配或者传递流量是非常有用的。 无论是用于开发高可用性还是利用各种部署技术,负载均衡器都是生产基础设施中一个灵活而强大的工具。

要了解更多关于 DigitalOcean Load balaners 的深度和专业信息,请参阅以下教程:

  • 如何使用数字负载均衡器平衡 TCP 流量
  • 如何在 DigitalOcean 负载均衡器上配置 SSL 终端
  • 如何使用 Doctl 处理数字式负载均衡器
  • 2负载均衡器文档