实用技巧:如何用负载均衡构建高可用服务?

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 摘要:6月29日2016云栖大会成都峰会拉开帷幕,阿里云技术专家莫高带来了“负载均衡实用技巧”的重要演讲。整个过程都是以自问自答的形式来讲述的,新鲜有趣。从如何构建一个高可用的服务,谈到健康检查的问题,最后又讲解了调度均衡性和SLB的性能相关问题。让我们一起先睹为快吧——

当单台服务器已经无法处理访问请求时,当我们的服务宕机时,当有人试图攻击我们的服务时,我们应该怎么办?升级后端服务时,怎样才能不中断服务?

bc97e3ce3b36405483d384bed300fac905a29d5d 

 如何构建一个高可用的服务?

ea2127c8f30ce08e9633bd596c7fa3c65a1c1499

• 连接级

• 服务器级

• 可用区级

• Region级

健康检查

  • 为什么健康检查总是显示失败?
  • 为什么控制台上一会显示成功,一会显示异常?
  • 直接访问服务器的健康检查地址是好的,但是还是会报健康检查失败,为什么?

健康检查实现机制

63228c7e4cb3d9386267237e2600c78e4fe6966d


• 响应超时时间:5秒

• 健康检查间隔:2秒

• 不健康阈值:3

• 健康阈值:3

• 不可用(2+5)*3=21s

• 可用2*3=6s

健康检查的级别

 c009be0bcedee67de2337077f35b9defca482113

TCP类型健康检查失败的原因有以下几点:

  • 后端未启动;
  • 未监听到私网地址;
  • 服务器防火墙;
  • 服务器负载高;
  • 健康检查端口与服务端口不一致。

HTTP类型健康检查失败的原因有以下两点:

  • 不支持HEAD请求;
  • 期望结果配置错误。

UDP类型健康检查失败的原因有以下两点:

  • 后端服务器不可达;
  • 触发ICMP限速保护。

那么,健康检查为什么时好时坏呢?主要表现在如下三个方面:

  • HTTP类型健康检查目标URI响应慢;
  • 后端服务器资源紧张;
  • 未全部放开对SLB健康检查源地址的限制。 

调度均衡性

 a7b5775bc6e9b3e035e1880c896e75c79219e506

调度要达到均衡须按权重调度,WRR为按请求调度,WLC为按连接调度。

 69abe86ac680de86b8a5600aa68cbd338a432398

 

会话如何始终落在一台ECS上?会话保持,TCP——按客户端地址,HTTP——按Cookie。

 eec5f2e7aa468b6fe4484e4d8e1f3b29f94f2371

 

新建实例,负载均衡。

性能相关

1.        当业务请求数突然飙高时,SLB会对业务进行限制吗?是如何限制的?

2.        当业务发展的很好时,带宽需求巨大,一般的云厂商已经无法满足需求,SLB能提供什么样的支持? 

SLB的服务能力体现在以下几个方面:

  • 最大连接数: 50W;
  • 新建连接数: 5W
  • 最大出带宽: 5Gbps;
  • 最大入带宽: 5Gbps。

本文根据阿里云技术专家莫高在6月29日举办的2016云栖大会成都峰会上的演讲整理而成。

 

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
18天前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
30 2
|
5天前
|
负载均衡 应用服务中间件 开发工具
技术笔记:nginx和keeplive实现负载均衡高可用
技术笔记:nginx和keeplive实现负载均衡高可用
|
2月前
|
负载均衡 算法 应用服务中间件
这些负载均衡都解决哪些问题?服务、网关、NGINX?
这些负载均衡都解决哪些问题?服务、网关、NGINX?
152 1
|
2月前
|
负载均衡 网络协议 应用服务中间件
【亮剑】在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。
【4月更文挑战第30天】本文介绍了在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。HAProxy是一个高性能的开源TCP和HTTP负载均衡器,适合处理大量并发连接;Nginx是一个多功能Web服务器和反向代理,支持HTTP、HTTPS和TCP负载均衡,同时提供缓存和SSL功能;Keepalived用于监控和故障切换,通过VRRP实现IP热备份,保证服务连续性。文中详细阐述了如何配置这三个工具实现负载均衡,包括安装、配置文件修改和启动服务,为构建可靠的负载均衡系统提供了指导。
|
2月前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。
|
2月前
|
存储 缓存 运维
解密一致性哈希算法:实现高可用和负载均衡的秘诀
解密一致性哈希算法:实现高可用和负载均衡的秘诀
311 0
|
2月前
|
Kubernetes 负载均衡 监控
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
|
2月前
|
tengine Kubernetes Cloud Native
Tengine-Ingress 高性能高可用的云原生网关
Tengine-Ingress 高性能高可用的云原生网关
|
8月前
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
224 1
|
8月前
|
负载均衡 前端开发 网络协议
Keepalived+HAProxy 搭建高可用负载均衡(二)
Keepalived+HAProxy 搭建高可用负载均衡