在当今的云计算时代,随着业务需求的不断增长,系统横向扩展成为了一个不可避免的话题。横向扩展指的是在现有基础设施中增加额外的服务器和机器,以应对新的业务需求。在这种情况下,就需要一种能够将负载分散到这些服务器上的基础设施,这就是负载均衡器(Load Balancer,简称LB)发挥作用的地方。
负载均衡器位于客户端和服务器之间,它接收来自客户端的请求,并通过各种算法将这些请求分发到服务器。这样做不仅可以减轻单个系统上的负载,还可以提高系统的容错能力。
如今,负载均衡器已成为关键的基础设施之一。每个公司都希望拥有更可靠的系统、更少的停机时间以及更高的可用性和响应性。负载均衡器还会跟踪活跃和健康的服务器。如果一个服务器失败,负载均衡器将停止向该服务器发送请求。它还可以根据需求自动添加或移除服务器。
本教程将展示如何在实践中实现这些负载均衡器。
1. 登录到谷歌云平台(Google Cloud Platform)。
2. 在其中创建一个新项目。
注意:使用负载均衡器需要一个计费账户,因为它是一项付费服务。
3. 导航至计算引擎(Compute Engine)>> 实例模板(Instance templates)。
4. 点击创建实例模板(Create Instance Template)按钮。
5. 命名实例模板,并选择虚拟机配置。
注意:还可以根据配置查看虚拟机的月成本。
6. 选择磁盘大小。
7. 选择服务账户,或者也可以选择默认的服务账户。同时,允许HTTP和HTTPS流量。
现在,已经准备好使用这些实例模板创建实例组了。
在本节中,将创建一组服务器。负载均衡器要求网络中的所有实例都来自同一组。
1. 导航至计算引擎(Compute Engine)>> 实例组(Instance Groups)。
2. 点击创建实例组(Create Instance Group)按钮。
3. 转到新的托管实例组(New managed instance group,无状态)。
输入实例组名称。
选择之前创建的实例模板。
选择服务器的区域。还可以选择多个区域,以便在不同位置拥有不同的服务器。
4. 保持自动扩展模式为关闭状态。自动扩展可以根据负载条件自动添加或移除服务器。但保持它关闭,并只使用固定数量的服务器。
5. 选择想要使用的实例数量。对于本教程,保持为两个。
6. 选择应用程序要监听的端口名称和端口号。最后,点击创建(Create)按钮。
7. 实例组现在已经创建,并且有两个正在运行的实例。
有三种类型的负载均衡器:
- HTTP(s)
- TCP
- UDP
HTTP(s)最适合分配Web应用程序的流量。
1. 导航至网络服务(Network Services)>> 负载均衡器(Load Balancer)。
2. 点击创建负载均衡器(Create Load Balancer)按钮。
3. 选择HTTP(s)负载均衡服务。
4. 保持默认设置并点击继续(Continue)。
1. 后端配置
命名负载均衡器,并导航至创建后端服务(Create a Backend Service)。
输入后端服务名称,并选择后端类型为实例组(Instance group)。
选择之前创建的实例组,并输入之前在实例组中输入的相同端口号(端口号也可以自动显示)。
2. 创建健康检查
健康检查确保实例正确工作。它定期向实例发送请求,并检查后端是否响应。
输入健康检查名称,并选择HTTP协议和之前选择的端口。
保持这些设置不变,然后点击保存(Save)。
现在,选择新创建的健康检查,并点击创建按钮以完成后端。
保持前端配置不变,然后点击创建按钮。
负载均衡器现在已经可以使用了。
将获得负载均衡器的前端IP地址。当访问该IP地址时,负载均衡器可以在内部将请求分配给两个实例。还可以将负载均衡器的IP地址链接到域名。
太棒了🎉,负载均衡器终于创建完成了。现在可以在这两个实例上托管Web应用程序了。
谷歌云的一个功能是负载均衡器。在本课程中,学习了如何在谷歌云平台上建立负载均衡器。还可以尝试不同的服务,如视觉AI、云存储、内容分发网络、Kubernetes引擎等。
这样的专用负载均衡器会花费金钱。不过,也可以设置像Nginx和Apache这样的Web服务器,提供负载均衡和反向代理。它们有助于提高在线应用程序的性能、可扩展性和稳定性,并且它们是开源的,可以免费使用。
以下是一些关键要点:
1. 首先,在谷歌云上创建了一个虚拟机实例模板,这样就不必一次又一次地填写虚拟机的配置。
2. 创建了一个实例组,负载均衡器只在组内工作。