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

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

 

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


连接级


服务器级


可用区级

• 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云栖大会成都峰会上的演讲整理而成。

 

时间: 2024-11-02 22:24:08

实用技巧:如何用负载均衡构建高可用服务?的相关文章

负载均衡SLB高可用的四个层次

负载均衡支持对多台ECS进行流量分发,以提升应用系统的服务能力,长期以来都是关键业务系统的入口.淘宝,天猫,阿里云等无不依赖负载均衡产品,双11的流量洪峰也依赖负载均衡的调度和处理能力. 负载均衡SLB简单介绍 下图是负载均衡的简单示意图,用户的访问请求经过SLB实例的一个监听(端口),再被转发到后端的ECS上.SLB实例对应一个IP地址,监听就是实例上IP地址的一个端口,流量调度是基于监听(端口)进行的,ECS是真正处理服务请求的.   负载均衡SLB架构 下图是从流量转发路径来看的负载均衡S

《构建高可用Linux服务器 第3版》—— 导读

前言 我的系统架构师之路 2004年我初识UNIX开源系统.那会儿我正在一家大型国有企业做系统管理员,负责值守公司的Windows Server 2000服务器.当时"震荡波"和"冲击波"这两种病毒很猖狂,虽然我们在防毒方面投入了大量的精力和金钱(当时购买的都是正版Windows 2000系统和正版瑞星杀毒软件),但新上线的机器,偶尔也有遗漏的时候,没有打补丁的机器无一幸免,所以对这个问题比较头疼.有一次去朋友的公司(某省太平洋寿险下面的一个分支机构)参观,我发现他

基于Nginx和Consul构建高可用及自动发现的Docker服务架构

本文讲的是基于Nginx和Consul构建高可用及自动发现的Docker服务架构[编者的话]本文对于Docker和Consul Template以及Nginx如何结合使用做了较为详细的介绍. [上海站|3天烧脑式微服务架构训练营]培训内容包括:DevOps.微服务.Spring Cloud.Eureka.Ribbon.Feign.Hystrix.Zuul.Spring Cloud Config.Spring Cloud Sleuth等. 导读 如果你在大量接触或使用微服务的话,你可能会碰到一个问

Consul实践之Consul结合nginx构建高可用可扩展的Web服务

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1730439 前文<Consul实践之Consul是什么>讲述了consul是什么,这篇文档是一个Consul实际应用的一个例子,用Consul结合nginx构建高可用可扩展的Web服务.Consul还能做许多其他的事情,可以根据实际需要构思和使用. 方案概述 nginx提供的负载均衡服务同样支持高可用.可扩展的W

如何在阿里云上构建高可用应用

业务高可用是我们每个项目的需求,一个经常故障的项目,会让我们觉得不靠谱而选择放弃,从而导致项目的失败.今天,我们来聊一聊,如何让你自己的业务能够更加稳固的运行! 本次我们从四个不同的角度,来分析,如何让我们的应用更加稳固,平稳运行. 一.        程序架构 优秀的代码 优秀的代码非常重要,即使我们拥有最好的硬件资源和架构,如果我们没有一套健壮的代码,其他资源再好都没有用,所以代码在设计和编写时,应当注意代码的健壮程度.优秀的代码不止开发起来方便,同时维护成本也较低,对于后续的优化来说,健壮

CentOS7+MySQL/MariaDB+Galera+HAProxy+Keepalived构建高可用数据库集群

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1603972 方案优势: Galera能够实现MySQL/MariaDB数据库的主主复制和多主复制等模式,这些复制模式都是同步进行的,同步时间非常短 每一个节点都可以同时写入和读取,当某一节点发生故障时,可自动从集群中自动剔除 HAProxy能提供负载均衡和故障判断等功能解决服务器系统存在的单点故障 Keepaliv

《构建高可用VMware vSphere 5.X虚拟化架构》——导读

前言 虚拟化技术近几年时间得到迅速发展,使用各种虚拟化架构打造企业应用平台越来越多. 作者从2006年开始使用VMware虚拟化架构打造企业应用平台,在多个项目实施过程中,传统高可用企业应用平台需要昂贵的硬件和软件才能实现,而使用虚拟化架构可以轻松实现. 目前市场上关于虚拟化的书籍一般以入门为主,介绍如何使用虚拟化平台,包括作者的<VMware vSphere 5.0虚拟化架构实战指南>一书.市场上没有关于如何使用虚拟化架构打造高可用企业应用平台的书籍,更没有实施过程中问题的处理的相关图书.作

利用keepalived构建高可用MySQL-HA

介绍利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. AD: 关于MySQL-HA,目前有多种解决方案,比如heartbeat.drbd.mmm.共享存储,但是它们各有优缺点.heartbeat.drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题:对于mmm,生产环境中很少有人用,且mmm

基于API网关构建高可用、高安全性API

        今天我们来聊聊如何借助API网关构建高可用.高安全性的云API,充分利用API网关给我们带来的便利. 认证         从API定义上我们可以定义多种认证类型的API,除特殊API外建议定义APP认证方式或其有安全认证类型的API,这样一旦发生攻击或者大量非法调用时我们可以知道谁在调用,便于我们通过黑名单等措施及时进行限制 HTTPS 建议对数据传输安全性要求较高的API仅开放HTTPS调用方式,另外在证书选择上,强烈建议大家选购Verisign的安全证书,因为Verisig