Amazon已经发布了其新的负载均衡器产品,Application Load Balancer(ALB)。ALB是一种新型智能负载均衡器,对于那些运行基于HTTP的服务的用户来说,它可以显著地降低负载均衡的成本。
ALB是位于OSI模型第七层的负载均衡器,因此它能根据网络包的内容将该网络包路由到不同的后端服务。现有的负载均衡器多是位于OSI模型第四层的TCP/UDP均衡器。与这些均衡器不同的是,ALB将检查网络包的内容,并将该网络包发送给适当的服务。当前,ALB支持基于URL对路由流量定义多至十条的独立规则。
对于那些运行细粒度后端服务的用户而言,使用ALB是一种福利。有别于为每一种服务运行一个弹性负载均衡器,一个ALB就可以为多个后端服务均衡网络流量。例如,包含“/api”的URL和包含“/signup”的URL会被路由到不同的后端服务上。
在未来的更新中,ALB将非常有可能具有根据任意HTTP头信息进行路由的功能。来自Amazon的Jeff Barr暗示了这样的改进。他提到,“假以时日,我们计划为提供其它的路由方法。”
除了对标准HTTP路由的支持,ALB还支持WebSockets和HTTP/2。
在今年8月11日举办的纽约AWS峰会上,Amazon CTO Werner Vogels指出,新负载均衡器是明显更好的:
我们从一些最早使用封闭测试版的用户那里所听到的是,ALB不仅比AWS原有的Classic Load Balancer更快,而且大家将会看到成本显著降低。通常能达到10%甚至更多。
当然,其它云服务提供商也已有类似的产品。微软的Azure提供了应用网关(Application Gateway)产品,Goole也提供了一种基于HTTP及HTTPS的均衡器。
ALB已经可以与Auto Scaling、ECS、CloudFormation、CodeDeploy和Certificate Manager等其它AWS产品搭配使用,而与Elastic Beanstalk和AWS Config的集成正在实现中。原有的Elastic Load Balancer均衡器,现已更名为Classic Load Balancer,依然是可用的。可使用Load Balancer Copy Utility将现有的Classic Load Balancers迁移到ALB。
获取更多信息,可访问Barr的博客文章,了解如何设置新的ALB。