ALB初体验

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: ALB支持QUIC协议、支持更丰富的转发规则、支持自定义TLS策略和算法、具备更强的性能扩展性。

最近,我们在购买负载均衡SLB的时候,发现购买链接里多了一个ALB(应用负载均衡)。

1.jpg

原来的SLB在官网中已经被改名为CLB(传统型负载均衡)。
2.jpg

CLB(原SLB)包含四层和七层的负载均衡功能,其中七层负载均衡支持HTTP/HTTPS协议的负载均衡。ALB在支持HTTP/HTTPS的基础上多支持了一个QUIC协议,这个协议目前主要用于低延时音视频应用场景。

过去,我们在搭建系统架构的时候,通常使用SLB(四层)+ Nginx集群的方式,原因就是过去的SLB在转发规则的支持上过于阳春,这次的ALB在转发规则的支持上已经可以支持大多数的应用场景了,先来看转发判断条件的支持情况:

3.jpg

  • 域名、CLB的七层负载提供,但仅支持转发到虚拟服务器组
  • 路径、CLB的七层负载提供,但仅支持转发到虚拟服务器组
  • HTTP标头、ALB新增功能
  • 查询字符串、ALB新增功能
  • HTTP请求方法、ALB新增功能
  • Cookie、ALB新增功能

转发目标的支持:
4.jpg

  • 转发至、CLB的七层负载均衡提供
  • 重定向至、ALB新增功能,支持重定向到其他主机、协议、端口、路径、查询URL
  • 返回固定响应、ALB新增功能、支持返回自定义的返回码和响应正文
  • 重写、ALB新增功能、支持重定向到指定的域名、路径、查询URL
  • 写入Header、支持写入自定义的HTTP头

除了拥有更强大的转发规则,ALB另一个重要的功能升级是可以自定义TLS的连接策略。
在HTTPS的监听配置页面,可以自定义TLS连接策略,从而在安全性和支持范围之间取得平衡。
可以在系统预定义的TLS安全策略中进行选择,因为TLS1.0 被爆出有安全风险,所以建议至少选择TLS1.1版本,但这样以来使用TLS1.0的客户端就必须进行升级。
5.jpg

CLB的七层负载均衡同样支持TLS版本的选择,但ALB更进一步可以通过自定义策略对算法进行更精细的定制:

6.jpg

ALB 不再使用固定的IP地址方式接入,而是要使用CNAME的方式来接入,创建ALB实例后阿里云将创建一个域名对应该ALB实例,默认情况下这个域名指向两个公网EIP,分别位于不同的可用区以实现高可用,需要将业务系统的域名CNAME映射到该域名上来完成接入。

这种接入方式的好处是域名对应的公网IP可以随着系统压力的提升进行线性扩容,当两个公网IP的吞吐不足以支撑业务压力时可以随时增加更多的EIP。

总结一下,ALB对于CLB的七层负载均衡主要有以下升级:

  • 支持QUIC协议
  • 支持更丰富的转发规则,大多数情况下可以替代掉四层SLB+Nginx的组合
  • 支持自定义TLS策略和算法
  • 更强的性能扩展性
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
18天前
|
人工智能 安全 Java
Spring AI 核心架构解析:构建企业级 AI 应用的 Java 新范式
Spring AI 为 Java 开发者提供企业级 AI 应用新范式,通过分层架构、统一抽象(如 ChatClient、PromptTemplate)与 Spring 生态深度集成,支持 RAG、函数调用、流式响应等核心功能,实现安全、可观测、可维护的智能系统构建。
381 8
|
关系型数据库 MySQL
cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
|
9月前
|
存储 算法 Java
GoLang GPM模型
本文介绍了 Go 语言中的 goroutine 及其调度器(Go Scheduler)的工作原理。goroutine 并非传统意义上的协程,而是基于两级线程模型实现的轻量级并发单元。文章详细解释了三种主流线程模型(内核级、用户级和两级线程模型)的特点,并重点阐述了 G-P-M 模型(Goroutine、Processor、Machine)的工作机制,包括调度算法、阻塞处理等。通过动态栈管理和高效的调度器,Go 程序能够轻松支持成千上万个并发任务。
229 0
GoLang GPM模型
|
12月前
|
弹性计算 关系型数据库 数据库
从自建到云端,数据库迁移全攻略
本文详细介绍了将自建数据库迁移至阿里云RDS的全过程,涵盖WordPress网站安装、数据库迁移配置及验证等步骤。通过DTS数据传输服务,实现库表结构、全量和增量数据的无缝迁移,确保业务连续性和数据一致性。方案具备零成本维护、高可用性(最高99.99%)、性能优化及全面的数据安全保障等核心优势。此外,提供了详细的图文教程,帮助用户快速上手并完成迁移操作,确保业务稳定运行。点击文末“阅读原文”了解更多详情及参与活动赢取精美礼品。
536 13
|
12月前
|
存储 人工智能 数据库
面向医疗场景的大模型 RAG 检索增强解决方案
本方案为您介绍,如何使用人工智能平台 PAI 构建面向医疗场景的大模型 RAG 检索增强解决方案。
|
数据采集 数据可视化 算法
深入解析ERP系统的业务智能与报表分析模块
深入解析ERP系统的业务智能与报表分析模块
644 3
|
NoSQL 关系型数据库 MySQL
AWS Database Migration Service 助力数据库搬迁
AWS Database Migration Service 助力数据库搬迁
|
缓存 中间件 数据库
中间件Write-Through Cache(直写缓存)策略
【5月更文挑战第7天】中间件Write-Through Cache(直写缓存)策略
345 4
中间件Write-Through Cache(直写缓存)策略
|
关系型数据库 MySQL 数据安全/隐私保护
已解决:mysql: [Warning] Using a password on the command line interface can be insecure.
已解决:mysql: [Warning] Using a password on the command line interface can be insecure.
985 0
|
存储 NoSQL 数据库
使用知识图谱提高RAG的能力,减少大模型幻觉
在使用大型语言模型(llm)时,幻觉是一个常见的问题。LLM生成流畅连贯的文本,但往往生成不准确或不一致的信息。防止LLM产生幻觉的方法之一是使用提供事实信息的外部知识来源,如数据库或知识图谱。
513 5