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

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

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

 

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


• 连接级

• 服务器级

• 可用区级

• Region级

健康检查

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

健康检查实现机制



• 响应超时时间:5秒

• 健康检查间隔:2秒

• 不健康阈值:3

• 健康阈值:3

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

• 可用2*3=6s

健康检查的级别

 

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

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

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

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

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

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

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

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

调度均衡性

 

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

 

 

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

 

 

新建实例,负载均衡。

性能相关

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

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

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

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

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

 

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
2月前
|
弹性计算 监控 负载均衡
|
2月前
|
运维 负载均衡 算法
|
5天前
|
存储 负载均衡 NoSQL
搭建高可用及负载均衡的Redis
通过本文介绍的高可用及负载均衡Redis架构,可以有效提升Redis服务的可靠性和性能。主从复制、哨兵模式、Redis集群以及负载均衡技术的结合,使得Redis系统在应对高并发和数据一致性方面表现出色。这些配置和技术不仅适用于小型应用,也能够支持大规模企业级应用的需求。希望本文能够为您的Redis部署提供实用指导和参考。
31 9
|
2月前
|
存储 负载均衡 监控
如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
在数字化时代,构建高可靠性服务架构至关重要。本文探讨了如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
46 1
|
3月前
|
负载均衡 Kubernetes 区块链
随机密码生成器+阿里k8s负载均衡型服务加证书方法+移动终端设计+ico生成器等
随机密码生成器+阿里k8s负载均衡型服务加证书方法+移动终端设计+ico生成器等
72 1
|
5月前
|
存储 设计模式 缓存
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
该文章主要介绍了如何在OpenFeign中集成Ribbon以实现负载均衡,并详细分析了Ribbon中服务选择和服务过滤的核心实现过程。文章还涉及了Ribbon中负载均衡器(ILoadBalancer)和负载均衡策略(IRule)的初始化方式。
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
|
5月前
|
负载均衡 Kubernetes 开发工具
k8s相关服务与负载均衡
k8s相关服务与负载均衡
60 0
|
6月前
|
负载均衡 监控 Kubernetes
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
|
5月前
|
负载均衡 Dubbo 算法
Dubbo服务负载均衡原理
该文章主要介绍了Dubbo服务负载均衡的原理,包括Dubbo中负载均衡的实现位置、为什么需要负载均衡机制、Dubbo支持的负载均衡算法以及随机负载均衡策略的源码分析。
|
6月前
|
负载均衡 NoSQL 应用服务中间件
搭建高可用及负载均衡的Redis
【7月更文挑战第10天】
229 1