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

简介: 阿里云技术专家莫高带来了“负载均衡实用技巧”的重要演讲。整个过程都是以自问自答的形式来讲述的,新鲜有趣。从如何构建一个高可用的服务,谈到健康检查的问题,最后又讲解了调度均衡性和SLB的性能相关问题。让我们一起先睹为快吧

阿里云技术专家莫高带来了“负载均衡实用技巧”的重要演讲。整个过程都是以自问自答的形式来讲述的,新鲜有趣。从如何构建一个高可用的服务,谈到健康检查的问题,最后又讲解了调度均衡性和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。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
弹性计算 监控 负载均衡
|
4月前
|
负载均衡 NoSQL Redis
不增加 GPU,首 Token 延迟下降50%|LLM 服务负载均衡的新实践
针对LLM服务的特点,Higress AI网关以插件形式提供了面向LLM服务的负载均衡算法,包括全局最小请求数负载均衡、前缀匹配负载均衡以及GPU感知负载均衡,能够在不增加硬件成本的前提下,提升系统的吞吐能力、降低响应延迟,并实现更公平、高效的任务调度。
530 135
|
运维 负载均衡 算法
|
11月前
|
存储 负载均衡 NoSQL
搭建高可用及负载均衡的Redis
通过本文介绍的高可用及负载均衡Redis架构,可以有效提升Redis服务的可靠性和性能。主从复制、哨兵模式、Redis集群以及负载均衡技术的结合,使得Redis系统在应对高并发和数据一致性方面表现出色。这些配置和技术不仅适用于小型应用,也能够支持大规模企业级应用的需求。希望本文能够为您的Redis部署提供实用指导和参考。
824 9
|
存储 负载均衡 监控
如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
在数字化时代,构建高可靠性服务架构至关重要。本文探讨了如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
301 1
|
负载均衡 Kubernetes 区块链
随机密码生成器+阿里k8s负载均衡型服务加证书方法+移动终端设计+ico生成器等
随机密码生成器+阿里k8s负载均衡型服务加证书方法+移动终端设计+ico生成器等
204 1
|
存储 设计模式 缓存
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
该文章主要介绍了如何在OpenFeign中集成Ribbon以实现负载均衡,并详细分析了Ribbon中服务选择和服务过滤的核心实现过程。文章还涉及了Ribbon中负载均衡器(ILoadBalancer)和负载均衡策略(IRule)的初始化方式。
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
|
负载均衡 监控 Kubernetes
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
|
Kubernetes Cloud Native 微服务
企业级容器部署实战:基于ACK与ALB灵活构建云原生应用架构
这篇内容概述了云原生架构的优势,特别是通过阿里云容器服务Kubernetes版(ACK)和应用负载均衡器(ALB)实现的解决方案。它强调了ACK相对于自建Kubernetes的便利性,包括优化的云服务集成、自动化管理和更强的生态系统支持。文章提供了部署云原生应用的步骤,包括一键部署和手动部署的流程,并指出手动部署更适合有技术背景的用户。作者建议在预算允许的情况下使用ACK,因为它能提供高效、便捷的管理体验。同时,文章也提出了对文档改进的建议,如添加更多技术细节和解释,以帮助用户更好地理解和实施解决方案。最后,展望了ACK未来在智能化、安全性与边缘计算等方面的潜在发展。水文一篇,太忙了,见谅!
|
负载均衡 NoSQL 应用服务中间件
搭建高可用及负载均衡的Redis
【7月更文挑战第10天】
719 1