8 高性能云负载均衡器,用于应用程序的高可用性
如果您的网站/网页应用面向的是大型受众,或者预计在全球范围内有高流量,那么您需要使用负载均衡器(LB)。负载均衡器可以在许多方面帮助您。
- 高可用性
- 应用程序扩展
- 无或最小的停机时间
- 即时安全性
- 更好的地理用户体验
- SSL卸载
- 地理路由
传统的负载均衡器硬件成本约为5000美元,因此大多数中小型、初创或低预算项目并不考虑使用负载均衡器。
但现在不再如此,您可以使用一种价格低至每月20美元的cloud load balancer,具备传统负载均衡器的所有出色功能。
如果您正在设计一个适用于better performance的高可用性应用程序和安全性,则以下云负载均衡器将对您有所帮助。每个负载均衡器都具有一些优势或额外的功能,因此选择适合您的。
以下是托管解决方案,这意味着您不需要安装任何软件。它是一款SaaS产品。如果您正在寻找开源解决方案,请查看this post。
AWS ELB
Amazon Web Services(AWS)的Elastic Load Balancer(ELB)无疑是云中最好的负载均衡解决方案之一。
AWS拥有三种类型的负载均衡器。
- 应用程序 – 适用于应用层(HTTP/HTTPS)
- 经典 – 适用于传输层(TCP)
- 网络 – 针对TCP、UDP和TLS流量的性能优化
如果您正在构建基于Web的应用程序并使用HTTP或HTTPS协议,则application load balancer是最佳选择。
ELB根据路由算法将传入请求分发到配置的后端EC2实例。
以下是AWS应用程序负载均衡器的一些功能。
- 支持HTTP/2、IPv6、WebSockets
- 可以卸载SSL
- 支持AWS WAF集成
- 可以启用粘性会话(cookies)
- 根据上下文URI/路径或主机将请求转发给后端
- 添加健康检查
Elastic LB默认提供以下监控指标。
- 平均延迟
- 请求摘要
- 新/活动连接计数
- 处理的字节数
- 以及更多…
定价取决于流量,并且您可以使用他们的calculator进行估算。
GCP负载均衡
GCP提供全球单播IP,用于前端连接所有后端服务器,以实现更好的高可用性和可扩展应用环境。
Google提供三种类型的load balancing解决方案。
- HTTP(S) – 第7层,适用于Web应用程序
- TCP – 第4层,适用于基于TCP/SSL协议的负载均衡
- UDP – 第4层,适用于基于UDP协议的负载均衡
Google Cloud建立在与Gmail、YouTube相同的基础设施上,因此不用担心性能问题。负载均衡器能够支持每秒超过100万个请求,并且您可以根据需求自动扩展应用程序,无需任何手动干预。
自动扩展使您能够应对流量激增,而无需减慢链接速度。
以下是值得一提的Google Cloud HTTP(S)负载均衡器功能:
- 亲和性
- 一键Google CDN集成
- SSL终止
- 健康检查
- 您可以创建基于内容的负载均衡。
- 全局转发规则
- 地理路由
- Google CDN集成
- IPv6支持
- Websocket
您可以通过易于使用的控制台或命令行完成整个负载均衡器配置。
NodeBalancers
您是否正在使用Linode托管您的网站?
NodeBalancers Linode提供每月仅需10美元的LB的所有基本功能。配置非常简单,并具有以下一些基本功能。
- 它支持IPv4,IPv6
- 限制连接以防止滥用资源的可疑流量
- 可以进行多端口负载均衡
- 终止SSL握手
- 会话持久性,使您的请求始终发送到相同的后端服务器
- 健康检查以确保请求发送到健康服务器
- 您可以从轮询、最少连接或源IP选择路由算法
NodeBalancers可以用于平衡任何基于TCP的流量,包括HTTP、MySQL、SSH等。
Rackspace
Rackspace是领先的云托管解决方案提供商之一,提供cloud LB以管理在线流量,通过将请求分发到多个后端服务器。
它支持轮询、加权、最少连接和随机等多种路由算法。您可以平衡几乎任何类型的服务协议,包括。
- TCP
- SMTP/IMAP
- HTTP/HTTPS
- LDAP/LDPAS
- MySQL
- FTP/SFTP
- UDP
Rackspace云LB功能之一:
- 通过加速SSL提高吞吐量
- 您可以终止SSL,从而减少Web服务器的CPU负载
- 会话持久性,将请求转发到一个服务器
- 每秒10Gb的网络吞吐量
- 通过API管理LB
- 通过限制连接来保护恶意流量
您可以获取Apache样式访问日志的所有流量日志,以获得更好的log management。
Azure负载均衡器
使用Microsoft Azure LB平衡内部或面向互联网的应用程序。借助Azure负载均衡器,您可以构建高可用性和可扩展性的Web应用程序。
它支持TCP/UDP协议,包括HTTP/HTTPS、SMTP、实时语音、视频消息应用程序。如果您已经在Azure上托管应用程序,则可以将请求从负载均衡器转发到虚拟服务器。
Azure负载均衡器的一些值得注意的功能:
- 原生IPv6支持
- 您可以通过NAT规则提高安全性。
- 基于哈希的流量分布
Azure提供了三种类型的负载均衡解决方案。
- 应用程序网关 – 第7层,终止客户端连接,并将请求转发到后端服务器/服务。
- Azure负载均衡器 – 第4层,在Azure实例之间分发TCP流量。
- Traffic Manager – DNS级别的分发
仅在“应用程序网关”中支持SSL卸载、路径转发。
DO负载均衡器
与Linode类似,您可以通过控制面板或API控制DigitalOcean的负载均衡器。如果您正在使用DO托管Web应用程序,并且正在寻找一种HA解决方案,那么这可能是一种更低成本的选择。
它支持HTTP、HTTPS和TCP协议,具有循环和最少连接的路由算法。DO允许您终止SSL,配置粘性会话、健康检查、转发规则等,每月费用为10美元。您可以实施Let's Encrypt证书,并与DO Kubernetes兼容。
Cloudflare负载均衡
Cloudflare LB是独特的。
以上列出的所有解决方案都可以在各自的VM和资源之间进行负载均衡。
例如-使用GCP LB,您只能将流量平衡到GCP VM。选择GCP或AWS LB只有在整个应用程序基础架构托管在它们的平台上时才有意义。但是,如果您的site is hosted在不提供负载均衡器或提供有限功能的平台上,那么Cloudflare将会提供帮助。
Cloudflare可以将流量转发到互联网上的任何VM。
这是一个真正的多云负载均衡解决方案,具备您可以期望的所有标准功能。以下是其中一些功能。
- 将流量路由到响应速度快的虚拟机。
- 从最近的服务器提供服务。
- 动态路由。
- 支持HTTPS和TCP。
- 会话亲和性。
- 对池进行健康检查。
- 实时更新。
Cloudflare负载均衡的定价从5美元起。
Imperva负载均衡器
Imperva提供了三种主要的可用性场景下的负载均衡器服务。
本地负载均衡器 – 根据同一数据中心内的路由算法将请求转发到最合适的服务器。
Global server load balancer(GSLB) – 非常适合大型组织或混合云基础架构,可以将请求转发到多个数据中心以提高可用性和性能。
GSLB支持地理定位,这意味着可以根据访问者的地理位置将流量转发到区域页面或最近的数据中心。
自动站点故障切换 – 基于健康检查自动化和加速灾难恢复,无需手动干预。流量会立即重新路由到另一个数据中心。
Incapsula提供实时仪表板、主被动健康检查和创建重定向/重写规则的选项。
结论
负载均衡器对于高可用性至关重要,并希望给您介绍一些高性能的云负载均衡器。