本文目录:
- 1、华为云负载均衡怎么使用?
- 2、负载均衡基本介绍
- 3、华为云负载均衡需要绑定cdn吗
华为云负载均衡怎么使用?
华为企业云负载均衡(Elastic Load Balancing)将访问流量自动分发到多台弹性云服务器,扩展应用系统对外的服务能力,实现更高水平的应用程序容错性能。
负载均衡基本介绍
【负载均衡架构部分转自】 58沈剑 [架构师之路](
负载均衡: 是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】
常见的负载均衡方案:
【客户端层】到【反向代理层】的负载均衡,是通过“DNS轮询”实现的:DNS-server对于一个域名配置了多个解析ip,每次DNS解析请求来访问DNS-server,会轮询返回这些ip,保证每个ip的解析概率是相同的。这些ip就是nginx的外网ip,以做到每台nginx的请求分配也是均衡的。
【反向代理层】到【站点层】的负载均衡,是通过“nginx”实现的。通过修改nginx.conf,可以实现多种负载均衡策略:
【站点层】到【服务层】的负载均衡,是通过“服务连接池”实现的。
上游连接池会建立与下游服务多个连接,每次请求会“随机”选取连接来访问下游服务。(也即是rpc框架实现的)
在数据量很大的情况下,由于数据层(db,cache)涉及数据的水平切分,所以数据层的负载均衡更为复杂一些,它分为“数据的均衡”,与“请求的均衡”。
数据的均衡是指 :水平切分后的每个服务(db,cache),数据量是差不多的。
请求的均衡是指 :水平切分后的每个服务(db,cache),请求量是差不多的。
(1)按照range水平切分
(2)按照id哈希水平切分
[图片上传中...(-6b2508-1561902875888-0)]
常见的负载均衡系统包括 3 种:DNS 负载均衡、硬件负载均衡和软件负载均衡。
硬件负载均衡是通过单独的硬件设备来实现负载均衡功能,这类设备和路由器、交换机类似,可以理解为一个用于负载均衡的基础网络设备。比如业界非常出名的F5
缺点:
(1)价格实在非常昂贵
(2)扩展性不强
软件负载均衡通过负载均衡软件来实现负载均衡功能,常见的有 Nginx 和 LVS。
nginx和F5:
nginx和lvs比较:
lvs:
ELB:
SLB:
题目:日活跃用户 1000 万的论坛的负载均衡集群,该如何设计呢?
(1)评估流量
1000万DAU,换算成秒级(一天12小时),平均约等于232。
考虑每个用户操作次数,假定10,换算成平均QPS=2320。
考虑峰值是均值倍数,假定5,换算成峰值QPS=11600。
考虑静态资源、图片资源、服务拆分等,流量放大效应,假定10,QPS 10=116000。
(2)容量规划
考虑高可用、异地多活,QPS 2=232000。
考虑未来半年增长,QPS*1.5=348000。
(3)方案设计
可以用三级导流:
第一级,DNS,确定机房,以目前量级,可以不考虑。
第二级,确定集群,扩展优先,则选Haproxy/LVS,稳定优先则选F5。
第三级,Nginx+KeepAlived,确定实例。
(4)架构图
接入层技术:
缺点:
优点:
缺点:
优点:
缺点:
缺点:
nginx毕竟是软件,性能比tomcat好,但总有个上限,超出了上限,还是扛不住。lvs就不一样了,它实施在操作系统层面;f5的性能又更好了,它实施在硬件层面;它们性能比nginx好很多,例如每秒可以抗10w,这样可以利用他们来扩容。
99.9999%的公司到这一步基本就能解决接入层高可用、扩展性、负载均衡的问题。 假设还扛不住的话,就要考虑使用硬件设备f5等。如果还是扛不住,那么只有DNS来扩容了。
水平扩展,才是解决性能问题的根本方案,能够通过加机器扩充性能的方案才具备最好的扩展性。 facebook,google,baidu的PV是不是超过80亿呢,它们的域名只对应一个ip么,终点又是起点,还是得通过DNS轮询来进行扩容:
比如购买了阿里云或者aws。那么基本会使用云厂商提供的负载均衡中间件,比如aws(elb)、阿里云(slb)。这个负载均衡软件可以认为是 lvs+keepalived的高可用负载均衡服务
后端的service有可能部署在硬件条件不同的服务器上:
1)如果对标最低配的服务器“均匀”分摊负载,高配的服务器的利用率不足;
2)如果对标最高配的服务器“均匀”分摊负载,低配的服务器可能会扛不住;
(1)通过“静态权重”标识service的处理能力
优点: 简单,能够快速的实现异构服务器的负载均衡。
缺点: 权重是固定的,无法自适应动态调整,而很多时候,服务器的处理能力是很难用一个固定的数值量化。
(2)通过“动态权重”标识service的处理能力
提问:通过什么来标识一个service的处理能力呢?
回答:其实一个service能不能处理得过来,能不能响应得过来,应该由调用方说了算。调用服务,快速处理了,处理能力跟得上;调用服务,处理超时了,处理能力很有可能跟不上了。
动态权重设计:
例如:
(1)设置一个阈值,超过阈值直接丢弃
(2)借助“动态权重”来实施过载保护
案例策略:
1)service的负载均衡、故障转移、超时处理通常是RPC-client连接池层面来实施的
2)异构服务器负载均衡,最简单的方式是静态权重法,缺点是无法自适应动态调整
3)动态权重法,可以动态的根据service的处理能力来分配负载,需要有连接池层面的微小改动
4)过载保护,是在负载过高时,service为了保护自己,保证一定处理能力的一种自救方法
5)动态权重法,还可以用做service的过载保护
华为云负载均衡需要绑定cdn吗
需要。华为云软件在制造时,系统设置必须绑定cdn才能使软件负载均衡,华为云是云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题。
【云负载均衡】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: