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

170 阅读2分钟
原文链接: click.aliyun.com

阿里云技术专家莫高带来了“负载均衡实用技巧”的重要演讲。整个过程都是以自问自答的形式来讲述的,新鲜有趣。从如何构建一个高可用的服务,谈到健康检查的问题,最后又讲解了调度均衡性和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。