互联网科技阿里云云服务

负载均衡-保证网站的高可用

2018-08-22  本文已影响1人  8033b4d1f3ec

在我刚开始编程的时期,那时候我还呆在一家小型创业公司里,规模非常小,网站的访问量也不是非常大。部署的服务器资源是这样的:数据库一台服务器,web一台服务器,仅有两台。每次发布都会导致网站无法访问,做活动如果量大网站也无法访问。

上述的情况就是我们常说的单点故障,因为你的服务器只有一台,无法做主备的切换。随着业务和用户不断的增长,网站是无法接受这种单点故障的,因为每一次的单点故障都会损失用户,随着客户对你失去信心,那么你的业务也会停止,网站将没有收入来源,因为失去了上帝。

可见网站故障对公司来说是一件非常可怕的事情,也是一件需要极力避免的事情。在云计算还未普及的时候,负载均衡主要做法有两种,第一种是利用ngnix的负载均衡,实际上ngnix并不是为负载均衡设计的,它只是具备了转发的功能。第二种是购买硬件做负载均衡,硬件可能要耗费几十万。

负载均衡的应用场景有哪些呢?主要有以下几个应用场景。

场景一:应用于高访问量的业务,如果应用访问量很高,您可以通过配置监听规则将流量分发到不同的实例上。

场景二:横向扩张系统,试想下,如果公司做一个大促活动,需要动态增加服务器,那么必然需要将新增服务器接入负责均衡系统,使得流量均匀分发,保证系统的稳定运行。

场景三:消除单点故障,这点非常好理解,某台服务器如果宕机了,负载均衡根据协议检测到了,直接切换到备用服务器上,保证服务的高可用。

场景四:同城容灾 (多可用区容灾),以前的硬件负载均衡系统相当于在集群服务器的前面做了一层路由规则,但是硬件负载均衡只能部署在一个机房里面,如果机房断电了,那么负载均衡就失效了,整个服务就不可用了。这就是硬件负载均衡的不足。

软件负载均衡就没有这样的问题,软件负载均衡本身可以部署到不同区域,可以是同城不同区,也可以是跨城跨区。

以上就是如今云计算负载均衡的一些优点和使用场景。

阿里云负载均衡产品是SLB,提供了四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡服务。

负载均衡的调度算法。轮询、加权轮询(WRR)、加权最小连接数(WLC)三种调度算法。

轮询:按照访问次数依次将外部请求依序分发到后端ECS实例上,这种很好理解这和ngnix的轮询是一样的。这种算法最为简单也最为高效,轮询保证了每台服务器均匀的流量分发,我觉得轮询算法是最为出色的算法。

加权轮询:用户可以对每台后端服务器设置权重值。权重值越高的服务器,被轮询到的次数(概率)也越高。加权就是后台给每一台服务器设置一个权重,负载均衡会根据这个权重去访问服务器,不过权重算法在实际场景中应用不多,因为权重的值如何确定是个很大的问题,可能依赖于某个业务的访问量,服务器的cpu和内存使用率等等,这些需要数据采集和分析才能确定得出。

加权最小连接数:除了根据对每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。这个算法就是说:当权重一样的时候,考虑的是连接数的大小。

下面是slb监听http的配置:

3019142-6efcb2849ad6cf88.png 3019142-159ca2bfd5d2c5d7.png

可以看到slb的操作对于用户来说其实是傻瓜式的操作,slb的底层其实是对LVS和Tengine做了扩展,使得用户不用去关心底层的操作。

下面我们再来介绍下阿里云SLB的购买挑选。负载均衡分为两种付费模式,第一种是预付费,第二种是按量付费。两种付费模式很容易理解,预付费模式是长期付费,最短一个月起;而按量付费是按照使用量付费。我按照官网的价格算了下,如果按量付费选择固定带宽付费(6Mbps),总费用相比于预付费贵了2400左右。

如果按量付费选择:按使用流量,那么不太好估算,因为使用流量是由公司的业务量决定的,每个公司的业务量不同,所以没发给出统一固定的价格。

WechatIMG257.png

我们这里就以预付费方式进行介绍。首先打开阿里云slb的购买链接,选择预付费模式。

可用区域选择。SLB支持跨可用区挂载后端ECS,即只要ECS和SLB实例在同一个地域即可。SLB可以同时将流量分发至不同可用区的ECS上。需要特别注意的是:SLB需要和ECS在同一个区域,就是说你的ecs是在华东1(杭州)的,那么你的SLB也需要选择华东1(杭州)。如下图:

WechatIMG258.png

实例规格选择:

WechatIMG259.png

实例规格我们可以依赖于qps的查询数量来做参考,网站的qps我们是可以监控到的,一般选择1000~5000之间,我们这里选择:规格2。

实例类型。类型分为公网和私网,私网走的是内网,价格自然便宜。比如现在部署了2台tomcat(外网),2台订单模块(内网),tomcat通过内网连到订单模块服务器,想要在订单模块架设负载均衡,那么这时候的负载均衡就是内网的。如果想要在tomcat上架设负载均衡,那么就是外网的。

计费类型。预付费只能根据固定带宽计费,固定带宽根据自己需要,动态选择,这里保持不变。

WechatIMG261.png

付费模式选择一年或以上,因为一年及以上是85折。以上就介绍完了阿里云的SLB负载均衡了,对于企业级用户来说负载均衡是非常必要的,负载均衡保证了企业级的服务不会出现单点故障,附上阿里云代金券,购买之前记得先领取再购买。

上一篇下一篇

猜你喜欢

热点阅读